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ó.

Mikrokernel Architectúra
Mikrokernel alapú Operating rendszer

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