Što je jezgra

abstraction layersOperacijski sustav je specijalan program ili skupina programa koji upravlja računalom u smislu sklopovlja (engl. hardware) i programske podrške (engl. software). Operacijski sustav tvori osnovnu podršku za različite dodatne programe odnosno softver, pružajući različite usluge. Takve usluge su na primjer upravljanje procesima, upravljanje memorijom, upravljanje datotečnim sustavima, mrežna podrška, upravljanje sigurnošću, grafičko ili tekstualno sučelje, upravljački programi za specifično sklopovlje i sl. Operacijski sustavi se razlikuju po namjeni (osobna računala, ugrađeni sustavi, mainframe računala), filozofiji rada i izvedbe (DOS, Unix, Windows, OS X), programskom jeziku u kojem je implementiran, itd. Kao rezultat takvih različitih kriterija namjene i izvedbe danas postoje stotine različitih operacijskih sustava.

Jezgra operacijskog sustava je centralni dio modernog operacijskog sustava. Njena zadaća je upravljanje sklopovljem na najnižem mogućem nivou kao i pružanje različitih već navedenih usluga aplikacijama. Jezgra upravlja računalnim resursima i predstavlja sloj između samih korisničkih programa odnosno korisničke okoline (engl. user land) i fizičkog računalnog sklopovlja. Takav sloj nazivamo i jezgrinom okolinom (engl. kernel land) i on može biti "deblji" ili "tanji" u ovisnosti o količini usluga koje jezgra pruža korisničkoj okolini. Razlog postojanja takvog sloja je u dizajnu većine modernih operacijskih sustava koji podrazumijeva niz apstrakcija koje se oslanjanju jedna na drugu. Takav dizajn se najčešće promatra kao piramida apstrakcija ili kao niz kružnih slojeva pri čemu je jezgra najdublje i predstavlja sloj najbliži samom sklopovlju računala. Kao posljedica ovakvog načina izvedbe operacijskog sustava dobivamo pojednostavljenje korisničkih aplikacija budući da one ne moraju znati specifičnosti za pojedino računalo odnosno sklopovlje čije usluge koriste. Aplikacije se mogu izvršavati na različitom sklopovlju i dobivaju uniformnu apstrakciju, a jezgra se brine o različitim internim aspektima.

Tipična jezgra modernog operacijskog sustava se tipično izvršava u tzv. nadglednom načinu rada (engl. supervisor mode) što praktično znači da ima vršne ovlasti nad svim sklopovljem računala (npr. može mijenjati sadržaje registara pojedinog uređaja ili samog centralnog procesora, upravljati prekidima, izvršavati privilegirane naredbe na centralnom procesoru, pristupati ovlaštenim adresnim prostorima i sl). Za svaki program koji ima takve ovlasti (odnosno postavljenu takvu zastavicu) se smatra da ne smije nikada doći u nedefinirano odnosno neispravno stanje, budući da time najčešće dovodi do pada cijelog operacijskog sustava i svih korisničkih aplikacija. Ovakva podjela načina rada ima hardversku podlogu, pa većina modernih procesora ima nekoliko načina rada. Specifično, popularni x86 procesori iz PC računala imaju četiri načina rada koji se zovu prstenovi (engl. ring). Jezgra (odnosno aplikacije sa jezgrinim ovlastima) se tipično izvršava u ring0, dok se korisničke aplikacije izvršavaju u ring3.