Mikrokernel in Operating-System: ArchiStruktur, Vorteile
โก Intelligente Zusammenfassung
Der Mikrokernel ist ein minimaler Betriebssystemkern, der nur die wesentlichen Funktionen โ Speicherverwaltung, Prozessplanung und Interprozesskommunikation โ im Kernelbereich hรคlt, wรคhrend Gerรคtetreiber, Dateiserver und andere Dienste separat im Benutzerbereich laufen.

Bevor wir uns mit dem Microkernel beschรคftigen, sollten wir Folgendes verstehen:
Was ist Kern?
Der Kernel ist ein wichtiger Bestandteil eines Betriebssystems und verwaltet die Systemressourcen. Er fungiert als Schnittstelle zwischen der Software und der Hardware des Computers. Er ist eines der ersten Programme, das nach dem Bootloader beim Systemstart geladen wird. Der Kernel gewรคhrleistet zudem den sicheren Zugriff verschiedener Programme auf die Hardware des Rechners und legt fest, wann und wie lange eine bestimmte Anwendung auf bestimmte Hardware zugreift.
Was ist Mikrokernel?
Ein Mikrokernel ist eine Software oder ein Code, der die minimal erforderlichen Funktionen, Daten und Merkmale zur Implementierung eines Betriebssystems enthรคlt. Er stellt eine minimale Anzahl an Mechanismen bereit, die fรผr die Ausfรผhrung der grundlegendsten Funktionen eines Betriebssystems ausreichen. Da er nur wenige Richtlinien vorgibt, ermรถglicht er die Implementierung anderer Teile des Betriebssystems.
Mikrokernel und ihre Benutzerumgebungen werden รผblicherweise in den C++ or C-Programmiersprachen mit ein wenig Assembler. Mit etwas hochrangigem Code sind jedoch auch andere Implementierungssprachen mรถglich.
Was ist ein monolithischer Kernel?
Ein monolithischer Kernel fรผhrt alle grundlegenden Systemdienste aus, wie zum Beispiel ProzessmanagementSpeicherverwaltung, E/A-Kommunikation und Interruptbehandlung, Dateisystem usw. im Kernelbereich.
Bei diesem Kernel-Ansatz lรคuft das gesamte Betriebssystem als ein einziges Programm im Kernel-Modus. Das Betriebssystem ist als Sammlung von Prozeduren geschrieben, die zu einem groรen ausfรผhrbaren Binรคrprogramm verknรผpft sind.
Mikrokernel Architektur
Der Mikrokernel ist der wichtigste Bestandteil fรผr die korrekte Implementierung eines Betriebssystems. Wie Sie im folgenden Diagramm sehen kรถnnen, รผbernimmt der Mikrokernel grundlegende Funktionen wie Speicherverwaltung, Prozessplanung und Interprozesskommunikation.
Mikrokernel-basiert Operating-System
Der Mikrokernel ist die einzige Software, die mit privilegierten Rechten ausgefรผhrt wird. Die anderen wichtigen Funktionen des Betriebssystems werden aus dem Kernelmodus entfernt und im Benutzermodus ausgefรผhrt. Zu diesen Funktionen gehรถren beispielsweise Gerรคtetreiber, Anwendungen, Dateiserver und die Interprozesskommunikation.
Komponenten des Mikrokernels
Ein Mikrokernel umfasst ausschlieรlich die Kernfunktionen des Systems. Eine Komponente wird nur dann in den Mikrokernel aufgenommen, wenn ihre Auslagerung die Systemfunktionalitรคt beeintrรคchtigen wรผrde. Alle anderen, nicht essentiellen Komponenten sollten im Benutzermodus ausgefรผhrt werden.
Die minimalen Funktionalitรคten, die im Mikrokernel erforderlich sind, sind:
- Speicherverwaltung Mechanismen wie Adressrรคume sollten im Mikrokernel enthalten sein. Er enthรคlt auรerdem Speicherschutzfunktionen.
- Prozessorplanungsmechanismen sollten Prozess- und Thread-Scheduler enthalten.
- Die prozessรผbergreifende Kommunikation verwaltet die Server, die ihre eigenen Adressrรคume ausfรผhren.
Unterschied zwischen Mikrokernel und monolithischem Kernel
| Kenngrรถรen | Monolithischer Kernel | Mikrokernel |
|---|---|---|
| Plug-and-Play-Betrieb | Es handelt sich um einen groรen Prozess, der in einem einzigen Adressraum ablรคuft. | Es kann in separate Prozesse, sogenannte Server, unterteilt werden. |
| Code | Um einen monolithischen Kernel zu schreiben, ist weniger Code erforderlich. | Um einen Mikrokernel zu schreiben, ist mehr Code erforderlich. |
| Sicherheit | Wenn ein Dienst abstรผrzt, bricht das gesamte System in einem monolithischen Kernel zusammen. | Wenn ein Dienst abstรผrzt, hat dies niemals Auswirkungen auf die Funktion eines Mikrokernels. |
| Kommunikation | Es handelt sich um eine einzelne statische Binรคrdatei. | Server kommunizieren รผber IPC. |
| Beispiel | Linux, BSDs, Microsoft Windows (95, 98, Ich), Solaris, OS-9, AIX, DOS, XTS-400 usw. | L4Linux, QNX, Symbian, K42, Mac OS X, Integrity, usw. |
Vorteile von Microkernel
Hier die Vorteile der Verwendung eines Mikrokernels:
- Die Mikrokernel-Architektur ist klein und isoliert, daher kann sie besser funktionieren.
- Mikrokernel sind sicher, weil nur solche Komponenten enthalten sind, die andernfalls die Funktionalitรคt des Systems beeintrรคchtigen wรผrden.
- Die Erweiterung des Systems ist leichter zugรคnglich, sodass sie in die Systemanwendung integriert werden kann, ohne den Kernel zu beeintrรคchtigen.
- Mikrokernel sind modular aufgebaut, und die verschiedenen Module kรถnnen ersetzt, neu geladen oder modifiziert werden, ohne dass der Kernel selbst berรผhrt werden muss.
- Weniger Systemabstรผrze im Vergleich zu monolithischen Systemen.
- Die Mikrokernel-Schnittstelle hilft Ihnen dabei, eine modularere Systemstruktur durchzusetzen.
- Neue Funktionen kรถnnen hinzugefรผgt werden, ohne dass eine Neukompilation erforderlich ist.
- Auch eine Serverstรถrung lรคsst sich isolieren, genau wie eine Stรถrung eines anderen Benutzerprogramms.
- Das Mikrokernelsystem ist flexibel, sodass verschiedene Strategien und APIs, die von unterschiedlichen Servern implementiert werden, im System nebeneinander existieren kรถnnen.
- Erhรถhte Sicherheit und Stabilitรคt resultieren aus der verringerten Menge an Code, der im Kernelmodus ausgefรผhrt wird.
Nachteile von Mikrokernel
Hier sind die Nachteile der Verwendung eines Mikrokernels:
- Die Bereitstellung von Diensten in einem Mikrokernelsystem ist im Vergleich zu einem normalen monolithischen System teuer.
- Ein Kontextwechsel bzw. ein Funktionsaufruf ist erforderlich, wenn die Treiber als Prozeduren bzw. Prozesse implementiert werden.
- Die Leistung eines Mikrokernelsystems kann gleichgรผltig sein und zu Problemen fรผhren.

