zusammenfassungen/Writerside/topics/Betriebssystemkerne.md
David Schirrmeister 1ec1d18863 update
2024-04-29 11:42:21 +02:00

3.3 KiB

Betriebssystemkerne

Gute Architektur sagt und warum etwas getan wurde.
Nicht wie und nicht wann und wer.

Der Betriebssystemkern

  • Enthält grundlegende Funktionen des Betriebssystems
    • Systemaufrufe
    • Benutzerverwaltung
    • Prozessverwaltung inklusive Ausführungsreihenfolge (Scheduling)
    • Interprozesskommunikation
    • Prozessumschalter (Dispatcher)
    • Gerätetreiber
    • Speicherverwaltung
    • Dateisysteme zur Verwaltung von Dateien auf Speicherlaufwerken
  • Ist die Schnittstelle zur Hardware des Computers
    • Funktionalitäten im BS-Kern haben vollen Hardwarezugriff
    • Funktionalitäten laufen als Prozess im Adressraum des Kerns
    • Funktionalitäten müssen nicht zwingend im Kern positioniert sein, sie können auch über Dienste bereitgestellt werden (Architektur)

Übersicht Betriebssystem

image_17.png

Betriebssystemkern

  • Der Kernel-Bereich ist privilegiert

Die Anwendungsschicht

  • Der User-Bereich ist nicht privilegiert, kann aber darauf aufbauende Funktionalitäten bereitstellen
  • Zugriff auf die Hardware erfolgt alleinig durch die im Kernel bereitgestellten Funktionalitäten (System-Calls)

Monolitische Kerne

Ein Monolith enthält alle Funktionalitäten eines Betriebssystems

Pro Con
Bessere Ausführungsgeschwindigkeit da weniger Prozesswechsel notwendig sind Abgestürzte Komponenten des Kerns können nicht separat neu gestartet werden -> können das gesamte BS zum Absturz bringen
Durch jahrelange Entwicklungstätigkeit ist eine gewachsene Stabilität vorhanden

Minimale Kerne (Microkernel)

Hier befinden sich nur die nötigsten Funktionen im Kernel

Pro Con
Alle weiteren Funktionalitäten laufen als Dienste bzw. Server im User-Modus Abgestürzte Komponenten des Kerns können nicht separat neu gestartet werden -> können das gesamte BS zum Absturz bringen
Ausgelagerte Funktionalitäten sind leichter austauschbar, bietet bessere Stabilität und Sicherheit

Hybride Kerne

Enthalten Komponenten, die, aus Geschwindigkeitsgründen, zusätzlich in den Kernel aufgenommen werden