Što su proširenja kernela?

Proširenje kernela je dio računalnog softvera koji se učitava u središnju komponentu operacijskog sustava. Proširenja kernela mogu se koristiti za pružanje funkcionalnosti ili hardverske podrške koja inače ne bi bila dio jezgre. Proširenje kernela često je dopušteno za obavljanje zadataka ili pristup dijelovima operacijskog sustava koje normalni softver ne može. U nekim operacijskim sustavima proširenja kernela nazivaju se modulima jezgre ili jednostavno modulima.

U većini operacijskih sustava, pristup umrežavanju, datotečnim sustavima i sistemskim pozivima ograničeni su kako bi se održao stabilan i siguran sustav. Proširenja kernela mogu pristupiti tim funkcijama i sustavima jer se pokreću kao dio kernela. Kernel bez ekstenzija poznat je kao osnovna jezgra. Proširenja se mogu dodati ili ukloniti iz osnovne jezgre.

Proširenja omogućuju veću fleksibilnost u mogućnostima kernela bez povećanja složenosti osnovne jezgre. Na primjer, proširenje kernela može se učitati kako bi se omogućile značajke uštede energije prikladne za prijenosna računala. Ove značajke obično nisu uključene u osnovnu jezgru jer se operativni sustav možda ne koristi na prijenosnom računalu.

Proširenja ili moduli kernela također se mogu dinamički učitavati i izbacivati, što znači da se dodaju i uklanjaju iz kernela prema potrebi. To omogućuje računalu da štedi memoriju i druge resurse kada se proširenje ne koristi. Mrežni adapter univerzalne serijske sabirnice (USB) može učitati svoje potrebne upravljačke programe kao ekstenzije kernela kada je priključen, a zatim isprazniti proširenja kada se uređaj ukloni.

Imaju više ovlasti od drugih programa, pa proširenja i moduli kernela mogu uzrokovati jedinstvene probleme. Loše kodirani upravljački program uređaja koji radi kao ekstenzija kernela mogao bi uzrokovati pad cijelog sustava. Iz tog razloga, programeri softvera često se potiču da koriste proširenja kernela samo kada nema alternative.

Za većinu korisnika konfiguracija proširenja se događa automatski. Neki korisnici, posebno oni koji koriste određene operacijske sustave, sami upravljaju ekstenzijom ili modulima kernela. Postoje varijacije u verzijama kernela, tako da proširenja i moduli možda neće biti kompatibilni sa svim kernelima ili svim operativnim sustavima.