Wat is het verschil tussen Microkernel en Monolithic Kernel

De grootste verschil tussen microkernel en monolithische kern is dat het op microkernel gebaseerde systemen hebben OS-services en kernel in afzonderlijke adresruimten, terwijl de monolithische kernel-systemen OS-services en kernel in dezelfde adresruimte hebben.

Microkernel en monolithische kernel zijn twee soorten kernels. Kernel is de kern van het besturingssysteem. Daarom is er een speciaal geheugengebied om de kritieke code van de kernel op te slaan. De kernel is een belangrijk onderdeel omdat het de juiste werking van het hele systeem onderhoudt. Het voert hardware- en procesbeheer, bestandsafhandeling en vele andere taken uit.

Key Areas Covered

1. Wat is Microkernel
     - Definitie, functionaliteit
2. Wat is Monolithic Kernel
     - Definitie, functionaliteit
3. Wat is het verschil tussen Microkernel en Monolithic Kernel
     - Vergelijking van belangrijke verschillen

Sleutelbegrippen

Kernel, Microkernel, Monolithic Kernel, Besturingssysteem

Wat is Microkernel

Microkernel is een type kernel waarmee het besturingssysteem kan worden aangepast. Het werkt op de geprivilegieerde modus en biedt laag-niveau adresruimtebeheer en Inter Process Communication (IPC). Bovendien staan ​​OS-services zoals bestandssysteem, virtueel geheugenbeheer en CPU-scheduler bovenop de microkernel. Elke service heeft een eigen adresruimte om ze te beveiligen. Daarnaast hebben de applicaties ook hun eigen adresruimten. Daarom is er bescherming tussen applicaties, OS Services en kernel.

Figuur 1: Microkernelarchitectuur

Wanneer de toepassing de OS-services voor een service aanvraagt, communiceren de OS-services met elkaar om de gewenste service aan de toepassing te leveren. Hier helpt de Inter Process Communication (IPC) om deze communicatie tot stand te brengen. Over het algemeen biedt op microkernel gebaseerd besturingssysteem een ​​uitstekend niveau van uitbreidbaarheid. Het is ook mogelijk om de services van het besturingssysteem aan te passen aan de vereisten van de toepassing.

Wat is Monolithic Kernel

In monolithische kernel-gebaseerde systemen heeft elke applicatie zijn eigen adresruimte. Daarom is elke applicatie veilig. De kernel bevat ook alle OS-services. Daarom kunnen de applicaties services van de kernel aanvragen. Sommige OS-services zijn bestandssysteem, CPU Scheduler, netwerktoegang, geheugenbeheer enz. Het besturingssysteem bevindt zich echter in een aparte adresruimte. Daarom is het beveiligd tegen de normale toepassingen en slecht werkende toepassingen.

Figuur 2: Monolithische Kernel-gebaseerde architectuur

Als een toepassing een service vereist, schakelt de hardware-adresruimte van de toepassing naar de hardware-adresruimte van het besturingssysteem om deze uit te voeren.

Verschil tussen Microkernel en Monolithic Kernel

Definitie

Een microkernel is een kerneltype dat mechanismen biedt zoals laag-niveau adresruimtebeheer, threadbeheer en interprocescommunicatie om een ​​besturingssysteem te implementeren. Een monolithische kernel daarentegen is een soort kernel in besturingssystemen waarbij het gehele besturingssysteem in de kernelruimte werkt. Deze definities verklaren het belangrijkste verschil tussen microkernel en monolithische kern.

OS-services

Een opmerkelijk verschil tussen microkernel en monolithische kernel is dat, in een op microkernel gebaseerd systeem, de OS-services en de kernel gescheiden zijn. Maar in een monolithisch kernelsysteem bevat de kernel de OS-services.

Snelheid

Snelheid is ook een groot verschil tussen microkernel en monolithische kern. Een microkernelsysteem is traag, terwijl het monolithische kernelsysteem snel is.

mislukkingen

In een op een microkern gebaseerd systeem zal een storing in één component geen invloed hebben op de andere componenten. In een monolithisch op kernels gebaseerd systeem zal de storing in één component echter het hele systeem beïnvloeden. Daarom is dit ook een belangrijk verschil tussen microkernel en monolithische kern.

Maatwerk

Een ander verschil tussen microkernel en monolithische kernel is dat het gemakkelijker is om nieuwe functionaliteiten toe te voegen aan de microkernel; daarom is het meer aanpasbaar. Het is echter moeilijk om nieuwe functionaliteiten aan de monolithische kern toe te voegen; daarom is het niet aanpasbaar.  

Omvang

Bovendien is de microkernel kleiner in omvang, terwijl de monolithische kern groter is.

Conclusie

Microkernel en monolithische kernel zijn twee soorten kernels. Het verschil tussen microkernel en monolithische kernel is dat de op microkernel gebaseerde systemen OS-services en kernel in afzonderlijke adresruimten hebben, terwijl het monolithische kernel-systeem OS-services en kernel in dezelfde adresruimte heeft.

Referentie:

1. Monolithische structuur - Georgia Tech - geavanceerde besturingssystemen, Udacity, 23 februari 2015, hier beschikbaar.
2. Op microkernel gebaseerde OS-structuur - Georgia Tech - geavanceerde besturingssystemen, Udacity, 23 februari 2015, hier beschikbaar.