Mikrokernel u Operating sustav: Architekstura, prednosti
โก Pametni saลพetak
Mikrojezgra je minimalna jezgra operacijskog sustava koja u prostoru jezgre drลพi samo bitne funkcije - upravljanje memorijom, rasporeฤivanje procesa i meฤuprocesnu komunikaciju - dok se upravljaฤki programi ureฤaja, datoteฤni posluลพitelji i druge usluge izvode odvojeno u korisniฤkom prostoru.

Prije nego ลกto nauฤimo o mikrojezgri, shvatimo:
ล to je Kernel?
Jezgra je vaลพan dio operativnog sustava koji upravlja sistemskim resursima. 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. Jezgra je takoฤer odgovorna za pruลพanje sigurnog pristupa hardveru raฤunala za razliฤite programe. Takoฤer odluฤuje kada i koliko dugo odreฤena aplikacija koristi odreฤeni hardver.
ล to je Microkernel?
Mikrokernel je softver ili kod koji sadrลพi potrebnu minimalnu koliฤinu funkcija, podataka i znaฤajki za implementaciju operativnog sustava. Pruลพa minimalan broj mehanizama, ลกto je dovoljno dobro za pokretanje najosnovnijih funkcija operativnog sustava. Omoguฤuje implementaciju drugih dijelova operativnog sustava jer ne nameฤe puno 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?
Monolitna jezgra pokreฤe sve osnovne sistemske usluge kao ลกto su procesno upravljanje, upravljanje memorijom, I/O komunikacija i rukovanje prekidima, datoteฤni sustav itd., u prostoru kernela.
U ovoj vrsti pristupa kernelu, cijeli operativni sustav radi kao jedan program u kernel modu. Operativni sustav je napisan kao skup procedura koje su povezane u veliki izvrลกni binarni program.
mikrokernelu Architektura
Mikrojezgra je najvaลพniji dio za ispravnu implementaciju operativnog sustava. Kao ลกto moลพete vidjeti na donjem dijagramu, mikrojezgra obavlja osnovne operacije poput memorije, mehanizama za rasporeฤivanje procesa i komunikacije izmeฤu procesa.
Bazirano na mikrojezgri Operating sustav
Mikrojezgra je jedini softver koji se izvrลกava na privilegiranoj razini. Ostale vaลพne funkcionalnosti OS-a uklonjene su iz kernel moda i pokreฤu se u korisniฤkom modu. Te funkcionalnosti mogu biti upravljaฤki programi ureฤaja, aplikacije, datoteฤni posluลพitelji, komunikacija izmeฤu procesa itd.
Komponente Microkernela
Mikrojezgra obuhvaฤa samo osnovne funkcionalnosti sustava. Komponenta se ukljuฤuje u mikrojezgru samo ako bi njezino stavljanje izvan nje prekinulo funkcionalnost sustava. Sve ostale nebitne komponente trebale bi se staviti u korisniฤki naฤin rada.
Minimalne funkcionalnosti potrebne u mikrokernelu su:
- Upravljanje memorijom Mehanizmi poput adresnih prostora trebali bi biti ukljuฤeni u mikrojezgru. 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 | Monolitno jezgro | mikrokernelu |
|---|---|---|
| osnovni | To je veliki proces koji se izvrลกava u jednom adresnom prostoru. | Moลพe se rastaviti na zasebne procese koji se nazivaju posluลพitelji. |
| Code | Kako bi se napisala monolitna jezgra, potrebno je manje koda. | Za pisanje mikrokernela 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, Symbian, K42, Mac OS X, Integrity, Itd |
Prednosti Microkernela
Evo prednosti/koristi koriลกtenja mikrokernela:
- Mikrokernel arhitektura je mala i izolirana, stoga moลพe bolje funkcionirati.
- Mikrokerneli su sigurni jer su ukljuฤene samo one komponente koje bi inaฤe poremetile funkcionalnost sustava.
- Proลกirenje sustava je pristupaฤnije, pa se moลพe dodati sistemskoj aplikaciji bez ometanja kernela.
- Mikrokerneli su modularni, a razliฤiti moduli mogu se zamijeniti, ponovno uฤitati ili modificirati bez dodirivanja kernela.
- Manje padova sustava u usporedbi s monolitnim sustavima.
- Suฤelje mikrokernela pomaลพe vam u provoฤenju modularnije strukture sustava.
- Nove znaฤajke mogu se dodati bez ponovnog kompajliranja.
- Kvar servera je takoฤer izoliran, baลก kao i kvar bilo kojeg drugog korisniฤkog programa.
- Mikrokernel 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 rezultat su smanjene koliฤine koda koji se izvrลกava u kernel modu.
Nedostaci mikrokernela
Evo nedostataka/nedostataka koriลกtenja mikrokernela:
- Pruลพanje usluga u mikrokernel sustavu je skupo u usporedbi s normalnim monolitnim sustavom.
- Promjena konteksta ili poziv funkcije potreban je kada su upravljaฤki programi implementirani kao procedure ili procesi.
- Performanse mikrokernel sustava mogu biti indiferentne i mogu dovesti do nekih problema.

