[[Датотека:Kernel-sr.svg|мини|десно|Uloga jezgra u računaru]]
'''Jezgro operativnog sistema''' ili '''kernel''' je [[softver]] koji upravlja pristupom korisničkih programa [[hardver|računarskoj opremi]] i softverskim resursima. To podrazumeva dobijanje [[procesor]]skog vremena, pristupanje [[memorija (računarstvo)|memoriji]], čitanje i pisanje po [[disk]]ovima, povezivanje u mreže , interakciju s terminalima ili [[grafičko korisničko okruženje|grafičkim korisničkim okruženjem]], itd. Jezgro sve ovo omogućava kontrolisanjem i pružanjem pristupa memoriji, procesoru, ulazno/izlaznim uređajima, datotekama na disku i specijalnim servisima za korisničke programe. Jezgro se sastoji iz nekoliko podsistema:
'''Jezgra (eng. kernel) operacijskog sustava jest srž operacijskog sustava i najniži apstracijski sloj koji je izveden programski. Jezgra je most između programa koji se
# Podsistem za upravljanje procesima
# Podsistem za upravljanje memorijom
izvode (procesa) i svega u njihovoj okolini, dakle za međusobnu komunikaciju između procesa, tako i između njih i ostatka računala ili vanjskog svijeta. Jezgra ima sve
# Podsistem za upravljanje ulazom/izlazom
# Podsistem za upravljanje datotekama
ovlasti i može pristupiti svakom resursu računala, dok se programima koji se izvode uskraćuje da izravno pristupaju željenim resursima, već u tu svrhu programi moraju
pozivati funkcionalnosti jezgre. Time se postiže da se na jednom mjestu (u jezgri) mogu nametnuti sigurnosna i druga pravila važna za osiguranje smislenog ponašanja
računala i svih programa u njemu kao cjeline. Jezgra može i ovlastiti neki program da pristupa određenom resursu računala i izravno, bez posredovanja jezgre. Ovo se
obično koristi da se programu dâ izravan pristup određenom dijelu memorije (kako privatne memorije koju koristi samo taj program, tako i dijeljene memorije koju
istovremeno koristi više programa); za pristup u druge resurse ovo se to rijeđe koristi, prvenstveno zato što je preduvjet za to odgovarajuća sklopovska podrška.
monoliticka jezgra:
U monolitickim jezgrima,svi procesi operativnog sistema idu uz glavno mikro jezgro.
Monoliticka jezgra koja su tradicionalno koristena u operativnim sistemima slicnim UNIX-u,sadrze sistem osnovne funkcije i drajvere(mali programi koji omogucuju
interakciju sa prenosivim hardverom,video kartice,stampaci,itd.).To je tradicionalan dizajn UNIX sistema.Monoliticko jezgro je jedan program koji sadrzi sve kodove
potrebne za izvrsavanje svakog zadatka koji ima veze sa jezgrom.Moderna monoliticka jezgra,kao kod Linux-a i FreeBSD-a,koji spadaju u kategoriju operativnih sistema
nalik UNIX-u,poseduju sposobnost da ucitavaju module u toku rada,tako omogucavajuci lako prosirenje mogucnosti jezgra po potrebi,dok se smanjuje kolicina koda koji
radi u prostoru jezgra.U monolitnim jezgrima neke prednosti ovise o:
-Posto je manje softvera ukljuceno,brzi je.
-Kako je jedini softver,trebao bi biti manji kako u izvoru tako i u obliku.
-Manje koda znaci manje gresaka koje se mogu prevesti na manje sigurnosnih problema.
Mikro jezgra:
Mikro jezgro je izraz koji opisuje pristup do dizajna operativnog sistema cija se funkcionalnost preselila iz tradicionalnog jezgra u set servera koji komuniciraju
kroz minimalnog jezgra,ostavljajuci sto manje moguce sistemske memorije i korisnicke memorije.Mikro jezgro koje je dizajnirano za specificnu platformu ili uređaj ce
imati samo ono sto mu treba da radi.Mikro jezgra su izumljena po ugledu na monoliticka mikro jezgra,gde sva sistemska funkcionalnost bila svedena na jedan statican
program koji je radio u posebnom sistemskom modu procesora.U mikro jezgrima se izvrsavaju samo fundamentalni temeljni zadaci,kao sto su mogucnost da se koriste neki
ili svi hardveri,upravljanjem memorijom i kordinisanje poruke koja prolazi izmedju procesa.Neki sistemi koji koriste mikro jezgra su QNX i HURD.
Neke prednosti mikro jezgra:
-odrzavanje je uglavnom lakse.
-zakrpe(patches) se mogu testirati na odvojenom primeru
-vreme developovanja i novi softveri se mogu testirati bez restartovanja jezgra
Neki nedostaci mikro jezgra su:
-Vise softvera je potrebno za interfejs-postoji mogucnost gubitka preformance,tj brzine.
-Upravljanje procesima uopsteno moze biti veoma komplikovano.
Hibridna (ili modularna) jezgra
Hibridna jezgra se korste u operativnim sistemima poput MS windows NT,Win 2000,win XP,vista,win7,win8, Apple-ov MAC OS X koristi hibridno jezgro koje se zove XNU koji
se temelji na kodu iz FreeBSD-ovog monolitickog jezgra.Hibridna jezgra su slicna mikro jezgrima,ali hibridni imaju dodatne kodove u prostoru jezgra,za poboljsanje
preformance.Ovi tipovi jezgra su nastavci mikro jezgra sa nekim svojstvima monolitickih.Za razliku od monolitickih,ovi tipovi jezgra ne mogu sami da ucitaju module dok
rade.Hibridna jezgra su mikro jezgra koja imaju "Ne esencijalne" kodove u prostoru jezgra,u svrhu da kod radi brze.Hibridna jezgra su kompromis između dizajna
monolitickih i mikro jezgra.
Neke prednosti hibridnih mikro jezgra su:
Brze razvijanje drajvera koji mogu da rade u okvirima modula.Za testiranje,ponovno pokretanje nije potrebno.
-Brza integracija spoljasnje tehnologije (vezano za razvoj,tj development)
Nano jezgra
Nano jezgro proverava virtualno sve operacije-ukljucujuci i najosnovnije poput sata do drajvera uređaja koji prave memoriju jezgra jos manjom od mikro jezgra.
Egzo jezgre
Egzo jezgro je jos eksperimentalan pristup dizajnu operativnog sistema.Oni se razlikuju od ostalih mikro jezgrapo njihovoj funkcionalnosti koja je ogranicena na
zastitu multipleksiranje hardvera,obezbeđujuci nijedne hardverske abstrakcije za razvoj aplikacija.Ekzo jezgra su po sebi jako mala.Uostalom,oni su u programskoj
biblioteci operativnih sistema,omogucaajuci developerima aplikacija veliku prednost iz ekzo jezgrenih sistema,svako izvozenje datoteka se moze smestiti u vise
programskih biblioteka,svaka izvozi drugaciji API(aplication programing interface).
{{klica-komp}}
|