Mikrokernel u Operating sustav: Architekstura, prednosti
Prije nego ลกto nauฤimo MicroKernel, shvatimo:
ล to je Kernel?
Kernel je vaลพan dio OS-a koji upravlja resursima sustava. Takoฤer djeluje kao most izmeฤu softvera i hardvera raฤunala. To je jedan od prvih programa koji se uฤitava pri pokretanju nakon bootloadera. Kernel je takoฤer odgovoran za pruลพanje sigurnog pristupa hardveru stroja za razne programe. Takoฤer odluฤuje kada i koliko dugo odreฤena aplikacija koristi odreฤeni hardver.
ล to je Microkernel?
mikrokernelu je softver ili kod koji sadrลพi potrebnu minimalnu koliฤinu funkcija, podataka i znaฤajki za implementaciju operativnog sustava. Omoguฤuje minimalan broj mehanizama, ลกto je dovoljno dobro za pokretanje najosnovnijih funkcija operativnog sustava. Omoguฤuje implementaciju drugih dijelova operativnog sustava buduฤi da ne nameฤe mnogo pravila.
Mikrojezgre i njihova korisniฤka okruลพenja obiฤno se implementiraju u C++ or C programski jezici uz malo montaลพe. Meฤutim, moguฤi su i drugi jezici implementacije s kodiranjem visoke razine.
ล to je monolitna jezgra?
Monolithic Kernel pokreฤe sve osnovne sistemske usluge poput procesno upravljanje, Upravljanje memorijom, I/O komunikacija i rukovanje prekidima, sustav datoteka itd. u prostoru jezgre.
U ovoj vrsti kernelskog pristupa, cijeli operativni sustav radi kao jedan program u kernel modu. Operativni sustav je napisan kao zbirka procedura koje su meฤusobno povezane u veliki izvrลกni binarni program.
mikrokernelu Architektura
Mikrokernel je najvaลพniji dio za ispravnu implementaciju operativnog sustava. Na donjem dijagramu moลพete vidjeti da Microkernel ispunjava osnovne operacije poput memorije, mehanizama za planiranje procesa i meฤuprocesne komunikacije.

Microkernel je jedini softver koji se izvrลกava na povlaลกtenoj razini. Ostale vaลพne funkcionalnosti OS-a uklanjaju se iz kernel-moda i izvode se u korisniฤkom modu. Ove funkcionalnosti mogu biti upravljaฤki programi ureฤaja, aplikacija, posluลพitelji datoteka, meฤuprocesna komunikacija itd.
Komponente Microkernela
Mikrokernel sadrลพi samo osnovne funkcije sustava. Komponenta je ukljuฤena u mikrojezgru samo ako bi njeno postavljanje izvan nje prekinulo funkcionalnost sustava. Sve druge nebitne komponente treba staviti u korisniฤki naฤin rada.
Minimalne funkcionalnosti potrebne u Microkernelu su:
- Upravljanje memorijom mehanizmi poput adresnih prostora trebaju biti ukljuฤeni u Microkernel. Takoฤer sadrลพi znaฤajke zaลกtite memorije.
- Mehanizmi za rasporeฤivanje procesora trebaju sadrลพavati planere procesa i niti.
- Meฤuprocesna komunikacija upravlja posluลพiteljima koji pokreฤu vlastite adresne prostore.
Razlika izmeฤu mikrokernela i monolitnog kernela
| Parametri | Monolitna jezgra | MicroKernel |
|---|---|---|
| osnovni | To je veliki proces koji se izvodi u jednom adresnom prostoru | Moลพe se rastaviti na zasebne procese koji se nazivaju posluลพitelji. |
| Kodirati | Kako bi se napisala monolitna jezgra, potrebno je manje koda. | Kako bi se napisala mikrojezgra, potrebno je viลกe koda |
| Sigurnost | Ako se usluga sruลกi, cijeli sustav se uruลกava u monolitnu jezgru. | Ako se usluga sruลกi, to nikada ne utjeฤe na rad mikrojezgre. |
| komunikacija | To je jedna statiฤka binarna datoteka | Posluลพitelji komuniciraju putem IPC-a. |
| Primjer | Linux, BSD, Microsoft Windows (95,98, ja), Solaris, OS-9, AIX, DOS, XTS-400 itd. | L4Linux, QNX, SymbianK42, Mac OS X, Integrity, Itd |
Prednosti Microkernela
Ovdje su prednosti/prednosti koriลกtenja Microkernela
- Mikrokernel arhitektura je mala i izolirana stoga moลพe bolje funkcionirati.
- Mikrojezgre su sigurne jer su ukljuฤene samo one komponente koje inaฤe ometaju funkcionalnost sustava.
- Proลกirenje sustava je pristupaฤnije, pa se moลพe dodati u aplikaciju sustava bez ometanja kernela.
- Mikrojezgre su modularne, a razliฤiti moduli se mogu zamijeniti, ponovno uฤitati, modificirati ฤak i bez dodirivanja jezgre.
- Manje padova sustava u usporedbi s monolitnim sustavima.
- Microkernel suฤelje vam pomaลพe da provedete viลกe modularnu strukturu sustava.
- Bez ponovnog kompiliranja dodajte nove znaฤajke
- Kvar posluลพitelja takoฤer je izoliran kao i kvar bilo kojeg drugog korisniฤkog programa.
- Microkernel sustav je fleksibilan, tako da razliฤite strategije i API-ji, implementirani od strane razliฤitih posluลพitelja, mogu koegzistirati u sustavu.
- Poveฤana sigurnost i stabilnost rezultirat ฤe smanjenom koliฤinom koda koji radi u naฤinu jezgre
Nedostatak Microkernela
Evo nedostataka/protivnosti koriลกtenja Microkernela:
- Pruลพanje usluga u mikrokernel sustavu je skupo u usporedbi s normalnim monolitnim sustavom.
- Prebacivanje konteksta ili poziv funkcije potreban je kada se upravljaฤki programi implementiraju kao procedure ili procesi.
- Performanse mikrokernel sustava mogu biti indiferentne i mogu dovesti do nekih problema.
Rezime
- Kernel je vaลพan dio OS-a koji upravlja resursima sustava.
- Mikrokernel je softver ili kod koji sadrลพi potrebnu minimalnu koliฤinu funkcija, podataka i znaฤajki za implementaciju operativnog sustava.
- U pristupu Monolithic Kernel, cijeli operativni sustav radi kao jedan program u kernel modu
- Mikrokernel je najvaลพniji dio za ispravnu implementaciju operativnog sustava.
- Mikrokernel sadrลพi samo osnovne funkcije sustava.
- Monolitna jezgra je veliki proces koji se izvodi u jednom adresnom prostoru, dok se Microkernel moลพe rastaviti na zasebne procese koji se nazivaju posluลพitelji.
- Mikrokernel arhitektura je mala i izolirana stoga moลพe bolje funkcionirati
- Pruลพanje usluga u mikrokernel sustavu je skupo u usporedbi s normalnim monolitnim sustavom
