Kaj je jedro v računalništvu?

V večini računalniških operacijskih sistemov je jedro osrednja komponenta. Je most med uporabnikom in aplikacijami ter računalniško strojno opremo. To je tudi mehanizem, ki omogoča, da računalnik hkrati obravnava več uporabnikov in več nalog. Vrste jeder so monolitno jedro, mikrojedro, hibridno jedro, nanojedro in eksojedro.

Jedro upravlja vse sistemske vire računalnika. To vključuje dolgoročno shranjevanje, centralno procesno enoto (CPU), kratkoročni pomnilnik ter vhodne in izhodne naprave. Ko aplikacija potrebuje enega od teh virov, jedro da vir na voljo in dokonča zahtevo.

To ravnanje z viri omogoča, da so operacijski sistemi večuporabniški in večopravilni. Operacijski sistem dejansko ne izvaja več kot ene naloge hkrati. Namesto tega jedro preklaplja naloge s tako visoko hitrostjo, da se zdi, da računalnik opravlja več nalog. Jedro je tudi odgovorno za zagotovitev, da viri, ki jih uporablja en uporabnik ali proces, ne kršijo zahteve drugega uporabnika ali procesa.

Obstajata dve glavni vrsti jeder, monolitno jedro in mikrojedro. Monolitna jedra uporabljajo nadzorno metodo upravljanja virov, pri kateri se vse storitve operacijskega sistema izvajajo v istem naslovnem prostoru, imenovanem prostor jedra. Nekatera monolitna jedra lahko nalagajo in razlagajo izvedljive module. To razširja zmogljivosti operacijskega sistema, hkrati pa ohranja minimalno količino kode, ki se izvaja v prostoru jedra v vsakem trenutku.

Mikrojedra izvajajo le minimalno količino storitev operacijskega sistema, kot so upravljanje pomnilnika, upravljanje niti in komunikacija med procesi v prostoru jedra. Vse druge storitve, kot so gonilniki naprav, uporabniški vmesniki in upravljanje datotek, se izvajajo v uporabniškem prostoru. Mikrojedro močno zmanjša količino kode, ki se izvaja v načinu jedra.

Hibridno jedro je kombinacija monolitnega in mikrojedra. Večina sistemskih storitev operacijskega sistema se izvaja v prostoru jedra, kot je monolitno jedro. Obstajajo tudi druge storitve, kot sta datotečni sistem in okenski sistem, ki se izvajajo v uporabniškem prostoru.
Drugi tipi jedra sta nanokernel in exokernel. Nanojedro uporablja gonilnike naprav za obdelavo skoraj vseh storitev. Eksokernel uporablja programe za dodeljevanje fizičnih virov.