Mikrokernel benne Operating rendszer: Architecture, Előnyök
Mielőtt megtanulnánk a MicroKernelt, értsük meg:
Mi az a Kernel?
A kernel az operációs rendszer fontos része, amely rendszererőforrásokat kezel. 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 az indításkor betöltődik. A kernel felelős azért is, hogy biztonságos hozzáférést biztosítson a gép hardveréhez a különféle programok számára. Azt is eldönti, hogy egy adott alkalmazás mikor és mennyi ideig használ bizonyos hardvert.
Mi az a Microkernel?
Mikrokernel olyan szoftver vagy kód, amely az operációs rendszer megvalósításához szükséges minimális mennyiségű funkciót, adatot és szolgáltatást tartalmazza. 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 házirendet.
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?
A Monolithic Kernel az összes alapvető rendszerszolgáltatást futtatja, mint pl folyamatirányítás, Memóriakezelés, I/O kommunikáció és megszakításkezelés, fájlrendszer stb. a kernelté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 van megírva, amelyek egy nagy végrehajtható bináris programba kapcsolódnak össze.
Mikrokernel Architectúra
A mikrokernel az operációs rendszer helyes megvalósításának legfontosabb része. Az alábbi ábrán látható, hogy a Microkernel olyan alapvető műveleteket hajt végre, mint a memória, a folyamatütemezési mechanizmusok és a folyamatok közötti kommunikáció.
A Microkernel 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
A mikrokernel csak a rendszer alapvető funkcióit tartalmazza. Egy komponens csak akkor kerül bele a Microkernelbe, ha kívülre helyezve megszakítaná a rendszer működését. Az összes többi nem alapvető komponenst felhasználói módba kell helyezni.
A Microkernelhez szükséges minimális funkciók a következők:
- Memóriakezelés olyan mechanizmusokat, mint a címterek, bele kell foglalni a Microkernelbe. 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 | MicroKernel |
---|---|---|
alapvető | Ez egy nagy folyamat, amely egyetlen címtérben fut | Külön folyamatokra, úgynevezett szerverekre bontható. |
Kód | Egy monolitikus kernel írásához kevesebb kódra van szükség. | 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. |
közlés | 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, SymbianK42, Mac OS X, IntegrityStb |
A Microkernel előnyei
Itt vannak a Microkernel használatának előnyei/előnyei
- A mikrokernel architektúra kicsi és elszigetelt, ezért jobban tud működni.
- A mikrokernelek biztonságosak, mert csak azokat az összetevőket tartalmazzák, amelyek egyébként megzavarják a rendszer működését.
- A rendszer bővítése könnyebben elérhető, így a Kernel megzavarása nélkül hozzáadható a rendszeralkalmazáshoz.
- A mikrokernelek modulárisak, a különböző modulok a kernel érintése nélkül cserélhetők, újratölthetők, módosíthatók.
- Kevesebb rendszerösszeomlás a monolit rendszerekhez képest.
- A Microkernel interfész segít a modulárisabb rendszerstruktúra érvényesítésében.
- Újrafordítás nélkül adjon hozzá új funkciókat
- A szerver meghibásodása is izolált, mint bármely más felhasználói program hibája.
- 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 megnövekedett biztonság és stabilitás csökkenti a kernel módban futó kód mennyiségét
A Microkernel hátránya
Íme, a Microkernel használatának hátrányai/hátrányai:
- A szolgáltatások nyújtása mikrokernel rendszerben költséges a normál monolitikus rendszerhez képest.
- Kontextusváltásra vagy függvényhívásra van szükség, ha az illesztőprogramokat eljárásként vagy folyamatként implementálják.
- Egy mikrokernel rendszer teljesítménye közömbös lehet, és problémákhoz vezethet.
Összegzésként
- A kernel az operációs rendszer fontos része, amely rendszererőforrásokat kezel.
- A mikrokernel olyan szoftver vagy kód, amely tartalmazza az operációs rendszer megvalósításához szükséges minimális mennyiségű funkciót, adatot és szolgáltatást.
- A Monolithic Kernel megközelítésben a teljes operációs rendszer egyetlen programként fut kernel módban
- A mikrokernel az operációs rendszer helyes megvalósításának legfontosabb része.
- A mikrokernel csak a rendszer alapvető funkcióit tartalmazza.
- A monolitikus kernel egy nagy folyamat, amely egyetlen címtérben fut, míg a mikrokernel különálló folyamatokra, úgynevezett szerverekre bontható.
- A mikrokernel architektúra kicsi és elszigetelt, ezért jobban tud működni
- A szolgáltatások nyújtása mikrokernel rendszerben költséges a normál monolitikus rendszerhez képest