Mis on arvutis kernel?

Enamikus arvutite operatsioonisüsteemides on tuum keskne komponent. See on sild kasutaja ja rakenduste ning arvuti riistvara vahel. See on ka mehhanism, mis võimaldab arvutil korraga tegeleda mitme kasutaja ja mitme ülesandega. Tuumade tüübid on monoliittuum, mikrotuum, hübriidtuum, nanokernel ja eksokernel.

Kernel haldab kõiki arvuti süsteemiressursse. See hõlmab pikaajalist salvestust, keskseadet (CPU), lühiajalist mälu ning sisend- ja väljundseadmeid. Kui rakendus vajab ühte neist ressurssidest, teeb kernel ressursi kättesaadavaks ja täidab päringu.

Selline ressursside käitlemine võimaldab operatsioonisüsteemidel olla nii mitme kasutaja kui ka multitegumtöötlusega. Operatsioonisüsteem ei täida tegelikult korraga rohkem kui ühte ülesannet. Selle asemel vahetab kernel ülesandeid nii suure kiirusega, et arvuti näib täitvat mitut ülesannet. Kernel vastutab ka selle eest, et ühe kasutaja või protsessi kasutatavaid ressursse ei rikutaks teise kasutaja või protsessi taotlus.

On kaks peamist tüüpi tuumasid: monoliitne tuum ja mikrotuum. Monoliitsed tuumad kasutavad ressursside haldamise järelevalvemeetodit, mille puhul kõik operatsioonisüsteemi teenused töötavad samas aadressiruumis, mida nimetatakse tuumaruumiks. Mõned monoliitsed tuumad võivad käivitatavaid mooduleid laadida ja maha laadida. See laiendab operatsioonisüsteemi võimalusi, säilitades samal ajal tuumaruumis minimaalse koguse koodi.

Mikrokernelid käitavad ainult minimaalset hulka operatsioonisüsteemi teenuseid, nagu mäluhaldus, lõimehaldus ja protsessidevaheline suhtlus kerneli ruumis. Kõik muud teenused, nagu seadmedraiverid, kasutajaliidesed ja failihaldus, käitatakse kasutajaruumis. Mikrokernel minimeerib tõsiselt tuumarežiimis töötava koodi hulka.

Hübriidtuum on monoliitsete ja mikrotuumade kombinatsioon. Enamik operatsioonisüsteemi süsteemiteenuseid käitatakse kerneli ruumis, nagu monoliitne kernel. On ka teisi teenuseid, nagu failisüsteem ja aknasüsteem, mida käitatakse kasutajaruumis.
Teised tuumatüübid on nanokernel ja eksokernel. Nanokernel kasutab seadme draivereid peaaegu kõigi teenuste haldamiseks. Eksokernel kasutab programme füüsiliste ressursside eraldamiseks.