Odporúčaná, 2024

Redakcia Choice

Rozdiel medzi mikrojadrom a monolitickým jadrom

Jadro je základnou súčasťou operačného systému; spravuje systémové zdroje. Jadro je ako most medzi aplikáciou a hardvérom počítača. Jadro môže byť ďalej klasifikované do dvoch kategórií: jadro Microkernel a monolitické jadro. Microkernel je služba, v ktorej sú služby používateľov a služby jadra uchovávané v samostatnom adresnom priestore. Avšak v službách používateľov jadra monolitu a službách jadra sú oba umiestnené v rovnakom adresnom priestore. Prediskutujeme niekoľko rozdielov medzi jadrom Microkernel a monolitickým jadrom pomocou porovnávacieho grafu zobrazeného nižšie.

Porovnávacia tabuľka

Základ pre porovnanieMicrokernelMonolitické jadro
základnéV službách užívateľa a jadre mikrokernel sa služby uchovávajú v samostatnom adresnom priestore.V monolitickom jadre sa používateľské služby aj služby jadra uchovávajú v rovnakom adresnom priestore.
veľkosťMikropôl má menšiu veľkosť.Monolitické jadro je väčšie ako jadro.
popravaPomalé spustenie.Rýchle spustenie.
predlžovaciuMikrokrúžok je ľahko rozšíriteľný.Monolitické jadro je ťažké rozšíriť.
zabezpečeniaAk dôjde k zrúteniu služby, má vplyv na fungovanie mikrokernelu.Ak dôjde k zrúteniu služby, celý systém narazí do monolitického jadra.
kódAk chcete napísať mikrokernel, je potrebný ďalší kód.Ak chcete napísať monolitické jadro, potrebujete menej kódu.
príkladQNX, Symbian, L4Linux, Singularity, K42, Mac OS X, Integrity, PikeOS, HURD, Minix a Coyotos.Linux, BSD (FreeBSD, OpenBSD, NetBSD), Microsoft Windows (95, 98, Me), Solaris, OS-9, AIX, HP-UX, DOS, OpenVMS, XTS-400 atď.

Definícia mikrokernelu

Jadro mikroekernu spravuje všetky systémové zdroje. Ale v mikrokerneli sú služby používateľov a služby jadra implementované v rôznych adresových priestoroch. Používateľské služby sa uchovávajú v priestore adries užívateľov a jadrové služby sa uchovávajú pod adresným priestorom jadra . Tým sa znižuje veľkosť jadra a ďalej sa znižuje veľkosť operačného systému.

Okrem komunikácie medzi aplikáciou a hardvérom systému poskytuje mikrokernel minimálne služby riadenia procesov a pamäte. Komunikácia medzi klientským programom / aplikáciou a službami bežiacimi v užívateľskom adresovom priestore sa vytvára prostredníctvom odovzdávania správ. Nikdy sa priamo nedotýkajú. Tým sa znižuje rýchlosť vykonávania mikrokernelu.

V mikrokerneli sú užívateľské služby izolované od služieb jadra, takže ak sa niektorá užívateľská služba zlyhá, nemá vplyv na službu jadra, a preto operačný systém zostáva nedotknutý . To je jedna z výhod v mikrokerneli. Mikrokrúžok je ľahko rozšíriteľný . Ak sa majú nové služby pridať, pridajú sa do adresného priestoru pre používateľa, a preto priestor pre jadro nevyžaduje žiadne úpravy. Mikrokernel je tiež ľahko prenosný, bezpečný a spoľahlivý.

Definícia monolitického jadra

Monolitické jadro spravuje systémové zdroje medzi aplikáciou a hardvérom systému. Ale na rozdiel od mikrokernelu sú služby používateľov a služby jadra implementované pod rovnakým adresným priestorom. To zvyšuje veľkosť jadra a zvyšuje veľkosť operačného systému.

Monolitické jadro poskytuje prostredníctvom systémových volaní plánovanie procesora, správu pamäte, správu súborov a ďalšie funkcie operačného systému. Keďže používateľské služby a služby jadra sa nachádzajú v rovnakom adresovom priestore, výsledkom je rýchly vykonávací operačný systém.

Jednou z nevýhod monolitického jadra je, ak niektorá z týchto služieb zlyhá v celom systéme. Ak má byť nová služba pridaná do monolitického jadra, celý operačný systém sa má upraviť.

Kľúčové rozdiely medzi jadrom Microkernel a monolitickým jadrom

  1. Základným bodom, na ktorom sa odlišuje jadro mikroekernu a monolitického jadra, je, že mikrokernel implementuje užívateľské služby a služby jadra v rôznych adresových priestoroch a monolitické jadro, ktoré implementujú užívateľské služby aj jadrové služby pod rovnakým adresným priestorom .
  2. Veľkosť mikrokernelu je malá, keďže iba jadrové služby sa nachádzajú v priestore adries jadra. Veľkosť monolitického jadra je však pomerne väčšia ako mikrokernel, pretože obe služby jadra a užívateľské služby sa nachádzajú v rovnakom adresovom priestore.
  3. Výkon monolitického jadra je rýchlejší, pretože komunikácia medzi aplikáciou a hardvérom je vytvorená pomocou systémového volania . Na druhej strane, vykonávanie mikrokernelu je pomalé, pretože komunikácia medzi aplikáciou a hardvérom systému je vytvorená prostredníctvom správy .
  4. Je ľahké rozšíriť mikrokernu, pretože nová služba sa má pridať do adresného priestoru používateľa, ktorý je izolovaný od priestoru jadra, takže jadro nevyžaduje úpravu. Opačným je prípad monolitického jadra, ak sa má pridávať nová služba v monolitickom jadre, potom je potrebné upraviť celé jadro.
  5. Microkernel je bezpečnejší ako monolitické jadro, ako keby v službe microkernel zlyhala funkcia, zostávajú nezmenené. Na druhej strane, ak služba zlyhá v monolitickom jadre, celý systém zlyhá.
  6. Návrh monolitického jadra vyžaduje menej kódu, čo vedie k menšiemu počtu chýb. Na druhej strane, navrhovanie mikrokernu potrebuje viac kódu, čo vedie k väčším chybám.

záver:

Microkernel je pomalší, ale bezpečnejší a spoľahlivejší ako monolitické jadro. Monolitické jadro je rýchle, ale menej bezpečné, pretože akékoľvek zlyhanie služby môže viesť k havárii systému.

Top