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