Összehasonlító táblázat
Az összehasonlítás alapja | mikrokernel | Monolit kernel |
---|---|---|
Alapvető | A mikrokernel felhasználói szolgáltatásokban és a kernelben a szolgáltatásokat külön címtartományban tartják. | Monolitikus kernelben mind a felhasználói szolgáltatások, mind a kernel szolgáltatások ugyanabban a címterületben vannak. |
Méret | A Microkernel mérete kisebb. | A monolit kernel nagyobb, mint a mikrokernel. |
Végrehajtás | Lassú végrehajtás. | Gyors végrehajtás. |
Nagyobbítható | A mikrokernel könnyen bővíthető. | A monolitikus kernelt nehéz kiterjeszteni. |
Biztonság | Ha egy szerviz összeomlik, ez hatással van a mikrokernel működésére. | Ha egy szolgáltatás összeomlik, az egész rendszer összeomlik monolit kernelben. |
Kód | Ahhoz, hogy mikrokernelt írjunk, további kód szükséges. | Monolit kernel írásához kevesebb kód szükséges. |
Példa | QNX, Symbian, L4Linux, Singularity, K42, Mac OS X, Integrity, PikeOS, HURD, Minix és Coyotos. | Linux, BSD (FreeBSD, OpenBSD, NetBSD), Microsoft Windows (95, 98, Me), Solaris, OS-9, AIX, HP-UX, DOS, OpenVMS, XTS-400 stb. |
A Microkernel meghatározása
A Microkernel, mint kernel, kezeli az összes rendszererőforrást. A mikrokernelben azonban a felhasználói szolgáltatások és a rendszermag-szolgáltatások különböző címterekben kerülnek megvalósításra. A felhasználói szolgáltatásokat a felhasználói címtartományban tartják, és a kernel szolgáltatásokat a rendszermag címtartománya alatt tartják. Ez csökkenti a rendszermag méretét és tovább csökkenti az operációs rendszer méretét.
A rendszer alkalmazás és hardver közötti kommunikáció mellett a mikrokernel minimális szolgáltatásokat nyújt a folyamat és a memória kezeléséhez. Az ügyfélprogram / alkalmazás és a felhasználói címterületen futó szolgáltatások közötti kommunikáció üzenet átadásával jön létre. Soha nem lépnek kapcsolatba közvetlenül. Ez csökkenti a mikrokernel végrehajtásának sebességét.
A mikrokernelben a felhasználói szolgáltatások elkülönülnek a kernel szolgáltatásaitól, így ha bármelyik felhasználói szolgáltatás sikertelen, az nem befolyásolja a rendszermag-szolgáltatást, így az operációs rendszer változatlan marad . Ez a mikrokernel egyik előnye. A mikrokernel könnyen bővíthető . Ha az új szolgáltatásokat hozzá kívánja adni, akkor hozzáadódik a felhasználói címterülethez, és így a rendszermag helyén nincs szükség módosításra. A mikrokernel könnyen hordozható, biztonságos és megbízható.
A monolitikus kernel meghatározása
A monolitikus kernel kezeli a rendszer erőforrásait a rendszer alkalmazásai és hardverei között. A mikrokernellel ellentétben a felhasználói szolgáltatások és a rendszermag-szolgáltatások ugyanabban a címterekben kerülnek végrehajtásra. Ez növeli a rendszermag méretét, ami tovább növeli az operációs rendszer méretét.
A monolitikus rendszermag a rendszerhívásokon keresztül CPU ütemezést, memóriakezelést, fájlkezelést és más operációs rendszer funkciókat biztosít. Mivel a felhasználói szolgáltatások és a rendszermag-szolgáltatások egyaránt ugyanazon címterületen tartózkodnak, ez a gyors végrehajtó operációs rendszert eredményezi.
A monolitikus rendszermag egyik hátránya, hogy ha az egyik szolgáltatás meghibásodik, az egész rendszer meghibásodik. Ha egy új szolgáltatást kívánunk hozzáadni a monolitikus rendszermaghoz, a teljes operációs rendszert módosítani kell.
A Microkernel és a Monolit Kernel közötti legfontosabb különbségek
- A mikrokernel és a monolitikus kernel megkülönböztetése az, hogy a mikrokernel a felhasználói szolgáltatásokat és a rendszermag-szolgáltatásokat különböző címtereken és monolitikus rendszermagban valósítja meg mind a felhasználói szolgáltatások, mind a kernel szolgáltatások ugyanazon címsor alatt történő megvalósításában.
- A mikrokernel mérete kicsi, mivel a rendszermag címtartományában csak a kernel szolgáltatások találhatók. A monolitikus kernel mérete azonban viszonylag nagyobb, mint a mikrokernel, mivel mind a rendszermag-szolgáltatások, mind a felhasználói szolgáltatások ugyanabban a címterületben vannak.
- A monolitikus kernel végrehajtása gyorsabb, mivel az alkalmazás és a hardver közötti kommunikáció a rendszerhívás segítségével jön létre. Másrészt a mikrokernel végrehajtása lassú, mivel az alkalmazás és a hardver közötti kommunikáció üzenet átadásával jön létre.
- Könnyen kiterjeszthető a mikrokernel, mivel a kernel térből izolált felhasználói címterületen új szolgáltatásra van szükség, így a rendszermagot nem kell módosítani. A monolitikus rendszermaggal ellentétben a monolitikus rendszermag új szolgáltatását kell hozzáadni, majd a teljes rendszermagot módosítani kell.
- A Microkernel sokkal biztonságosabb, mint a monolitikus rendszermag, mintha egy szolgáltatás meghibásodna a mikrokernelben, az operációs rendszer változatlan marad. Másrészt, ha egy szolgáltatás nem sikerül a monolitikus rendszermagban, a teljes rendszer meghibásodik.
- A monolitikus kerneltervezés kevesebb kódot igényel, ami további hibákhoz vezet. Másrészt a mikrokernel tervezéséhez további kódra van szükség, ami több hibához vezet.
Következtetés:
A Microkernel lassabb, de biztonságosabb és megbízhatóbb, mint a monolitikus kernel. A monolitikus kernel gyors, de kevésbé biztonságos, mivel bármely szolgáltatáshiba a rendszer összeomlásához vezethet.