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 zur Implementierung eines enthält operatungssystem. Es bietet eine minimale Anzahl von Mechanismen, die ausreicht, um die grundlegendsten Funktionen eines auszuführen operatungssystem. Es ermöglicht andere Teile des operaDa es nicht viele Richtlinien vorschreibt, ist es sinnvoll, ein System zu implementieren.

Mikrokernel und ihre Benutzerumgebungen werden normalerweise in C++ oder implementiert C programming languages mit ein bisschen von assembly. Mit etwas High-Level-Codierung 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 dieser Art von Kernel-Ansatz ist das Ganze operaDas System läuft als einzelnes Programm im Kernel-Modus. Der operaDas Ting-System ist als eine 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 operatungssystem. Sie können im untenstehenden Diagramm sehen, dass Microkernel die grundlegenden Anforderungen erfüllt operaFunktionen wie Speicher, Prozessplanungsmechanismen und Kommunikation zwischen Prozessen.

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

Parameter Monolithischer Kernel Mikrokernel
Basic 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, Integrität usw.

Vorteile von Microkernel

Hier sind die Vor- und Vorteile der Verwendung von Microkernel

  • Mikrokernel archiDie Struktur ist klein und isoliert und kann daher besser funktionieren.
  • Mikrokernel sind sicher, da nur solche Komponenten enthalten sind, die die Funktionalität des Systems beeinträchtigenwise.
  • 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 enthält operatungssystem.
  • Beim Monolithic-Kernel-Ansatz ist das Ganze operaDas System läuft als einzelnes Programm im Kernel-Modus
  • Ein Mikrokernel ist der wichtigste Teil für die korrekte Implementierung eines operatungssystem.
  • 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.
  • Mikrokernel archiDie Struktur ist klein und isoliert und kann daher besser funktionieren
  • Die Bereitstellung von Diensten in einem Mikrokernelsystem ist im Vergleich zum normalen monolithischen System teuer