Mikrokernel benne Operating rendszer: Architecture, Előnyök
⚡ Okos összefoglaló
A mikrokernel egy minimális operációs rendszermag, amely csak a legalapvetőbb funkciókat – a memóriakezelést, a folyamatok ütemezését és a folyamatok közötti kommunikációt – tartja a kernel térben, míg az eszközillesztők, a fájlszerverek és egyéb szolgáltatások külön futnak a felhasználói térben.

Mielőtt megtanulnánk a Microkernel-t, nézzük meg:
Mi az a Kernel?
A kernel az operációs rendszer fontos része, amely a rendszer erőforrásait kezeli. Hídként is működik a számítógép szoftvere és hardvere között. Ez az egyik első program, amely a rendszerbetöltő után betöltődik indításkor. A kernel felelős azért is, hogy biztonságos hozzáférést biztosítson a gép hardveréhez a különböző programok számára. Azt is eldönti, hogy egy adott alkalmazás mikor és mennyi ideig használ egy adott hardvert.
Mi az a Microkernel?
A mikrokernel egy olyan szoftver vagy kód, amely tartalmazza az operációs rendszer megvalósításához szükséges minimális mennyiségű függvényt, adatot és szolgáltatást. Minimális számú mechanizmust biztosít, ami elég jó az operációs rendszer legalapvetőbb funkcióinak futtatásához. Lehetővé teszi az operációs rendszer más részeinek megvalósítását, mivel nem ír elő sok szabályt.
A mikrokerneleket és felhasználói környezeteiket általában a C++ or C programozási nyelvek egy kis összeszereléssel. Más megvalósítási nyelvek azonban lehetségesek bizonyos magas szintű kódolással.
Mi az a monolitikus kernel?
Egy monolitikus kernel futtatja az összes alapvető rendszerszolgáltatást, mint például folyamatirányítás, memóriakezelés, I/O kommunikáció, megszakításkezelés, fájlrendszer stb. a kernel térben.
Az ilyen típusú kernel megközelítésben a teljes operációs rendszer egyetlen programként fut kernel módban. Az operációs rendszer eljárások gyűjteményeként íródik, amelyek egy nagy, végrehajtható bináris programba kapcsolódnak össze.
Mikrokernel Architectúra
A mikrokernel a legfontosabb része az operációs rendszer helyes megvalósításának. Amint az alábbi ábrán látható, a mikrokernel olyan alapvető műveleteket lát el, mint a memória, a folyamatütemezési mechanizmusok és a folyamatok közötti kommunikáció.
Mikrokernel alapú Operating rendszer
A mikrokernel az egyetlen olyan szoftver, amely privilegizált szinten fut. Az operációs rendszer többi fontos funkciója kikerül a kernel módból, és felhasználói módban fut. Ezek a funkciók lehetnek eszközillesztők, alkalmazások, fájlszerverek, folyamatok közötti kommunikáció stb.
A Microkernel összetevői
Egy mikrokernel csak a rendszer alapvető funkcióit tartalmazza. Egy komponens csak akkor kerül a mikrokernelbe, ha annak a mikrokernelen kívüli elhelyezése megszakítaná a rendszer működését. Minden más nem létfontosságú komponenst felhasználói módba kell állítani.
A mikrokernel minimálisan szükséges funkciói a következők:
- Memóriakezelés A mikrokernelnek olyan mechanizmusokat kell tartalmaznia, mint a címterek. Emellett memóriavédelmi funkciókat is tartalmaz.
- A processzor ütemezési mechanizmusainak folyamat- és szálütemezőket kell tartalmazniuk.
- A folyamatok közötti kommunikáció kezeli a saját címterüket futtató szervereket.
Különbség a mikrokernel és a monolitikus kernel között
| paraméterek | Monolit kernel | Mikrokernel |
|---|---|---|
| alapvető | Ez egy nagyméretű folyamat, amely egyetlen címtartományban fut. | Külön folyamatokra, úgynevezett szerverekre bontható. |
| Code | Egy monolitikus kernel írásához kevesebb kódra van szükség. | Egy mikrokernel írásához több kódra van szükség. |
| Biztonság | Ha egy szolgáltatás összeomlik, az egész rendszer összeomlik egy monolitikus kernelben. | Ha egy szolgáltatás összeomlik, az soha nem befolyásolja a mikrokernel működését. |
| Kommunikáció | Ez egyetlen statikus bináris fájl. | A szerverek IPC-n keresztül kommunikálnak. |
| Példa | Linux, BSD, Microsoft Windows (95, 98, Én), Solaris, OS-9, AIX, DOS, XTS-400 stb. | L4Linux, QNX, Symbian, K42, Mac OS X, IntegrityStb |
A Microkernel előnyei
Íme a mikrokernel használatának előnyei/kedvező hatásai:
- A mikrokernel architektúra kicsi és elszigetelt, ezért jobban tud működni.
- A mikrokernelek biztonságosak, mivel csak azok az összetevők vannak benne, amelyek egyébként megzavarnák a rendszer működését.
- A rendszer bővítése könnyebben hozzáférhető, így a kernel megzavarása nélkül hozzáadható a rendszeralkalmazáshoz.
- A mikrokernelek modulárisak, és a különböző modulok lecserélhetők, újratölthetők vagy módosíthatók anélkül, hogy a kernelhez hozzá kellene érni.
- Kevesebb rendszerösszeomlás a monolit rendszerekhez képest.
- A mikrokernel interfész segít egy modulárisabb rendszerstruktúra kikényszerítésében.
- Új funkciók adhatók hozzá újrafordítás nélkül.
- A szerver meghibásodása is elszigetelt, akárcsak bármely más felhasználói program meghibásodása.
- A mikrokernel rendszer rugalmas, így a különböző szerverek által megvalósított különböző stratégiák és API-k együtt létezhetnek a rendszerben.
- A fokozott biztonság és stabilitás a kernel módban futó kód mennyiségének csökkenésével érhető el.
A mikrokernel hátrányai
Íme a mikrokernel használatának hátrányai/hátrányai:
- A mikrokernel rendszerben nyújtott szolgáltatások drágábbak egy normál monolitikus rendszerhez képest.
- Kontextuskapcsolóra vagy függvényhívásra van szükség, ha az illesztőprogramokat eljárásként, illetve folyamatként valósítjuk meg.
- Egy mikrokernel rendszer teljesítménye közömbös lehet, és problémákhoz vezethet.

