Mikrokernel in Operating-System: ArchiStruktur, Vorteile

Bevor wir MicroKernel lernen, wollen wir Folgendes verstehen:

Was ist Kern?

Ein Kernel ist ein wichtiger Teil eines Betriebssystems, der Systemressourcen verwaltet. Es fungiert auch als Brรผcke zwischen der Software und der Hardware des Computers. Es ist eines der ersten Programme, das beim Start nach dem Bootloader geladen wird. Der Kernel ist auch dafรผr verantwortlich, verschiedenen Programmen einen sicheren Zugriff auf die Hardware der Maschine zu bieten. Es entscheidet auch, wann und wie lange eine bestimmte Anwendung bestimmte Hardware nutzt.

Was ist Mikrokernel?

Mikrokernel ist eine Software oder ein Code, der die erforderliche Mindestmenge an Funktionen, Daten und Features enthรคlt, um ein Betriebssystem zu implementieren. Es bietet eine minimale Anzahl von Mechanismen, die ausreicht, um die grundlegendsten Funktionen eines Betriebssystems auszufรผhren. Es ermรถglicht die Implementierung anderer Teile des Betriebssystems, da es nicht viele Richtlinien auferlegt.

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?

Der monolithische Kernel fรผhrt alle grundlegenden Systemdienste aus Prozessmanagement, Speicherverwaltung, E/A-Kommunikation und Interrupt-Verarbeitung, Dateisystem usw. im Kernel-Bereich.

Bei diesem Kernel-Ansatz wird das gesamte Betriebssystem als einzelnes Programm im Kernel-Modus ausgefรผhrt. Das Betriebssystem wird als Sammlung von Prozeduren geschrieben, die zu einem groรŸen ausfรผhrbaren Binรคrprogramm verknรผpft sind.

Mikrokernel Architektur

Ein Mikrokernel ist der wichtigste Teil fรผr die korrekte Implementierung eines Betriebssystems. Im untenstehenden Diagramm kรถnnen Sie sehen, dass der Mikrokernel grundlegende Operationen wie Speicher, Prozessplanungsmechanismen und Interprozesskommunikation erfรผllt.

Mikrokernel Architektur
Mikrokernel-basiert Operating-System

Microkernel ist die einzige Software, die auf der privilegierten Ebene ausgefรผhrt wird. Die anderen wichtigen Funktionalitรคten des Betriebssystems werden aus dem Kernel-Modus entfernt und im Benutzermodus ausgefรผhrt. Diese Funktionalitรคten kรถnnen Gerรคtetreiber, Anwendungen, Dateiserver, Interprozesskommunikation usw. sein.

Komponenten des Mikrokernels

Ein Mikrokernel umfasst nur die Kernfunktionen des Systems. Eine Komponente wird nur dann in den Mikrokernel aufgenommen, wenn ihre Auslagerung die Funktionalitรคt des Systems unterbrechen wรผrde. Alle anderen nicht wesentlichen Komponenten sollten in den Benutzermodus versetzt werden.

Die im Mikrokernel erforderlichen Mindestfunktionen sind:

  • Speicherverwaltung Mechanismen wie Adressrรคume sollten im Mikrokernel enthalten sein. Es enthรคlt auch 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 ausgefรผhrt wird 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 ist 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, SymbianK42, Mac OS X, Integrity, usw.

Vorteile von Microkernel

Hier sind die Vor- und Vorteile der Verwendung von Microkernel

  • Die Mikrokernel-Architektur ist klein und isoliert und kann daher besser funktionieren.
  • Mikrokerne sind sicher, da nur solche Komponenten eingebunden werden, die ansonsten die Funktionalitรคt des Systems stรถren wรผrden.
  • Die Erweiterung des Systems ist leichter zugรคnglich, sodass sie der Systemanwendung hinzugefรผgt werden kann, ohne den Kernel zu stรถren.
  • Mikrokernel sind modular aufgebaut und die verschiedenen Module kรถnnen ausgetauscht, neu geladen und geรคndert werden, ohne den Kernel รผberhaupt zu berรผhren.
  • Weniger Systemabstรผrze im Vergleich zu monolithischen Systemen.
  • Die Microkernel-Schnittstelle hilft Ihnen, eine modularere Systemstruktur durchzusetzen.
  • Fรผgen Sie neue Funktionen hinzu, ohne sie neu zu kompilieren
  • Eine Fehlfunktion des Servers wird ebenso isoliert wie die Fehlfunktion jedes anderen Benutzerprogramms.
  • Das Mikrokernel-System ist flexibel, sodass unterschiedliche Strategien und APIs, die von verschiedenen Servern implementiert werden, im System koexistieren kรถnnen.
  • Erhรถhte Sicherheit und Stabilitรคt fรผhren zu einer geringeren Menge an Code, der im Kernel-Modus ausgefรผhrt wird

Nachteil von Microkernel

Hier sind die Nachteile/Nachteile der Verwendung von Microkernel:

  • Die Bereitstellung von Diensten in einem Mikrokernelsystem ist im Vergleich zum normalen monolithischen System teuer.
  • Kontextwechsel oder Funktionsaufruf erforderlich, wenn die Treiber als Prozeduren bzw. Prozesse implementiert sind.
  • Die Leistung eines Mikrokernelsystems kann gleichgรผltig sein und zu Problemen fรผhren.

Zusammenfassung

  • Ein Kernel ist ein wichtiger Teil eines Betriebssystems, der Systemressourcen verwaltet.
  • Ein Mikrokernel ist eine Software oder ein Code, der die erforderliche Mindestmenge an Funktionen, Daten und Features zur Implementierung eines Betriebssystems enthรคlt.
  • Beim monolithischen Kernel-Ansatz lรคuft das gesamte Betriebssystem als einzelnes Programm im Kernelmodus.
  • Ein Mikrokernel ist der wichtigste Teil fรผr die korrekte Implementierung eines Betriebssystems.
  • Ein Mikrokernel umfasst nur die Kernfunktionen des Systems.
  • Ein monolithischer Kernel ist ein groรŸer Prozess, der in einem einzigen Adressraum ausgefรผhrt wird, wรคhrend Mikrokernel in separate Prozesse, sogenannte Server, unterteilt werden kann.
  • Die Mikrokernel-Architektur ist klein und isoliert und kann daher besser funktionieren
  • Die Bereitstellung von Diensten in einem Mikrokernelsystem ist im Vergleich zum normalen monolithischen System teuer

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: