Monolithischer Kernel

Definition - Was bedeutet monolithischer Kernel?

Ein monolithischer Kernel ist ein Betriebssystem-Software-Framework, das alle Berechtigungen für den Zugriff auf Eingabe- / Ausgabegeräte (E / A), Speicher, Hardware-Interrupts und den CPU-Stack besitzt. Monolithische Kernel sind in der Regel größer als andere Kernel, da sie sich auf der untersten Ebene mit so vielen Aspekten der Computerverarbeitung befassen und daher Code enthalten müssen, der mit vielen Geräten, E / A- und Interrupt-Kanälen und anderen Hardware-Betreibern verbunden ist.

Diese Form des Kernels ist die Basis für Linux, Unix, MS-DOS und Mac OS. Neuere Betriebssysteme verwenden normalerweise einen Hybridkernel, um die Wartung zu vereinfachen und das Betriebssystem zu verbessern.

Technische.me erklärt den monolithischen Kernel

Monolithische Kernel behalten vollen Zugriff auf die verschiedenen Komponenten, die unter ihrer Kontrolle stehen. Diese schließen ein:

  • Dateisysteme
  • Interprozesskommunikation
  • E / A- und Geräteverwaltung
  • Grundlegendes Prozessmanagement
  • Hardware

Der Grund, warum neuere Kernel-Architekturen wie Mikrokernel oder Hybrid-Kernel-Design bevorzugt werden, liegt darin, dass je größer der Kernel wird, desto mehr Funktionen er übernehmen muss. Dies macht das Laden des Codes umständlich und langsamer. Ein weiterer Nachteil des monolithischen Kernel-Designs besteht darin, dass der Kernel-Code geändert werden muss, um Funktionen hinzuzufügen oder Fehler zu beheben. Dies erfordert normalerweise eine Neukompilierung des Kernelcodes und der Hardwaretreiber. Dies kann sogar ein vollständiges Betriebssystem-Upgrade bedeuten, das teuer ist und das Vertrauen der Benutzer verringert.

Neuere Kernel-Architekturen behalten nur den Zugriff auf eingeschränkte Berechtigungen bei und geben Berechtigungen über Server an den Benutzerbereich weiter, die die Ressourcenverwaltung unabhängig mit eigenen Berechtigungen bereitstellen. Diese Server werden außerhalb des Kernel-Speicherplatzes ausgeführt, was viel kleinere Kernelgrößen und eine viel effizientere Upgrade-Route ermöglicht.

Die monolithische Kernelarchitektur wird immer noch für Systeme wie Linux-basierte Systeme verwendet, bei denen ein sich weiterentwickelnder Kernel, der ständig aktualisiert und ersetzt wird, Teil der Kultur des Betriebssystems ist. Die optimierte Natur von Linux hat seinen monolithischen Kernel auf eine akzeptable Größe reduziert, was das Hinzufügen von Funktionen erleichtert.