Makseviisid Abuse

Ülesanded, mida Linuxi tuum täidab

08.11.2022, 22:03

Eelmises artiklis selgitasime , mis on Linuxi kernel, nüüd räägime üksikasjalikult, milliseid funktsionaalseid ülesandeid see täidab. Monoliitne Linuxi operatsioonisüsteemi kernel täidab kõige ulatuslikumaid ülesandeid. Sissetulevate süsteemikutsete töötlemine toimub tipptasemel. Need kutsed on liideseks kerneli ja kasutaja rakenduste vahel. Riistvarasignaale ja katkestusi töödeldakse madalamal tasemel.

Linuxi tuuma peamised funktsionaalsed ülesanded

Kerneli ülesanded ei ole siiski ainult katkestuste käsitlemine. See sisaldab ka seadme kontrolliprogramme. Seadmetelt tulevate signaalide töötlemiseks on vaja draivereid. Neile on eraldatud suurem osa kernelist. Osa neist on binaarfailide kujul. Tuuma versioon ilma suletud draiveriteta on Linux-libre, praktikas ei ole seda nii lihtne kasutada, sest alati ei ole võimalik ehitada ainult avatud draiveritega komponentidel põhinevat arvutit.

Tuuma muud funktsionaalsed ülesanded töötavad abstraktsioonidega. Virtuaalsed niidid luuakse virtuaalse niidi abil, mäluhaldur eraldab ja isoleerib osa RAM-ist spetsiaalselt protsessi jaoks, virtuaalne failisüsteem moodustab ühe ruumi failide salvestamiseks, võrgumooduli abil luuakse pistikupesad. Nii luuakse tingimused kõrge turvalisuse taseme tagamiseks. Protsessidevahelise suhtluse süsteem tagab, et samadele arvutiressurssidele juurdepääsul ei teki konflikte, ning tagab ka protsesside vahelise andmevahetuse.

Kasutajatarkvara poolelt näeb see välja nagu füüsiline riistvara selle erinevusega, et protsessor ja RAM ei suhtle otse, vaid süsteemikutsete kaudu. Kataloog /dev sisaldab sümboolseid ja plokkviiteid välisseadmetele. Plokiviidete eripära on see, et nad töötavad ainult kindla suurusega plokkidega.

Vaatamata sellele, et kernel kontrollib kõiki protsesse, ei tee ta ise midagi, ta vajab kasutajatarkvara ja selle tarkvara poolt täidetavaid protsesse. Põhitarkvara hulka kuuluvad GNU utiliidid: ilma nendeta on raske ette kujutada ühtegi Linuxi distributsiooni. Üks näide on Bash shell, mis võimaldab sisestada käske konsooli.