Linuxi tuuma on kasutatud arvutites üle maailma juba kolm aastakümmet. Tänu sellele, et tuuma kasutatakse erinevatel platvormidel, leidub see lahendus peaaegu kõikjal, näiteks arvutites, nutitelefonides, kantavas elektroonikas, kodumasinates ja võrguseadmetes. Selles artiklis vaatleme kerneli arhitektuuri, selle peamisi ülesandeid ja liideseid.
On teada, et assemblerikood annab võimaluse saada veelgi suuremat jõudlust, võimete poolest on see mõnevõrra piiratud, lõviosa koodist on kirjutatud C-keeles. See osakaal on koguni 98%. Assembleri keeles otsustasime teha ainult ebaolulisi sisestusi, mis suurendavad veidi jõudlust, arhitektuurist sõltuvaid funktsioone ja laadijat.
Milline on Linuxi tuuma arhitektuur? Juurdepääsu tase arvuti ressurssidele sõltub suuresti operatsioonisüsteemi kasutatava kerneli tüübist. Õiguste osas jääb kernel teistest rakendustest kõrgemale. Arvestades ülesannete arvu, mida tuleb täita, toimub ülesande lahendamine kerneli tasandil, nii et eristada neid mitu sorti. Kõige levinumad lahendused on monoliitne, mikrokernel ja hübriidne.
Lõviosa monoliitse Linuxi kernel on salvestatud ühte faili. Kuid see ei tähenda veel, et see kuulub monoliitse tuuma hulka, vaid moodulid on võimelised eraldi salvestama. Peamine trikk on see, et kernel suudab käsitleda kõiki päringuid, kuid ei võta arvesse kasutaja rakenduste päringuid. Tuuma võtab endale sellised ülesanded nagu:
Hoolimata tuuma monoliitse olemusest koosneb see sisemoodulitest, mida laaditakse vastavalt vajadusele, mitte ükshaaval. Mõned moodulid hoitakse kernelist eraldi, kuid enamasti on need abiseadmete draiverid. Kernel on kõige privilegeeritum tarkvara arvutis. Kui rääkida konkreetselt Linuxi kernelist, siis on see monoliitne. See on peamine asi, mida selles etapis teada.