Monolithischer Kernel: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 16: | Zeile 16: | ||
==Betriebssysteme, die auf monolithischen Kernen aufsetzen== | ==Betriebssysteme, die auf monolithischen Kernen aufsetzen== | ||
*UNIX System V und unixoide Systeme wie z. B. | *UNIX System V und unixoide Systeme wie z. B. | ||
**BSD | **BSD | ||
***macOS, iOS etc. | ***macOS, iOS etc. | ||
Zeile 30: | Zeile 30: | ||
*Windows CE 6.0 | *Windows CE 6.0 | ||
[[ | [[Kategorie:Kernel/Architketur]] |
Aktuelle Version vom 1. August 2024, 09:31 Uhr
Ein monolithischer Kernel ist ein Kernel, in dem nicht nur Funktionen zu Speicher- und Prozessverwaltung und zur Kommunikation zwischen den Prozessen, sondern auch Treiber für die Hardwarekomponenten und möglicherweise weitere Funktionen direkt eingebaut sind.
- Für die Treiber werden keine zusätzlichen Programme benötigt, ein Geschwindigkeitsvorteil gegenüber einem Mikrokernel.
- Solche Kernel sind aber fehleranfälliger, da Teile die abgestürzt sind nicht einfach neu gestartet werden können, und den Absturz des gesamten Systems verursachen können.
Die Möglichkeit hardwarespezifischen Funktionen von den allgemeinen zu trennt (durch Module) wird oft durch ein geschicktes internes Abstraktionsmodell umgesetzt, um auch in einer monolithischen Kernelarchitektur ein Maximum an Programmübertragbarkeit auf andere Hardwareplattformen zu erreichen.
Vorteile
- Da die gesamten Betriebssystemfunktionen im Kernel-Modus ablaufen, wird der zeit- und rechenaufwändige Wechsel zwischen den Ringen des Protected Mode minimal gehalten.
- Die Zuverlässigkeit wichtiger Funktionen des Betriebssystems (wie Speicherverwaltung) ist nicht direkt vom Verhalten der Userprogramme abhängig und muss nicht in diese abgebildet werden (Stichwort: Dynamischer Speicher).
- Es entfällt eine aufwändige Kommunikation zwischen den einzelnen Teilen des Betriebssystems. Dadurch werden Probleme vermieden, die beim weiteren Aufteilen der Betriebssystemfunktionalitäten entstehen.
Nachteile
- Das Auswechseln von Funktionalitäten muss durch eine geschickte Verwaltung (beispielsweise durch Module) erfolgen.
- Bei Änderungen ist es normalerweise notwendig, den ganzen Kernel neu zu übersetzen. Teilweise gibt es jedoch auch Möglichkeiten, nur einzelne Module zu kompilieren.
Betriebssysteme, die auf monolithischen Kernen aufsetzen
- UNIX System V und unixoide Systeme wie z. B.
- BSD
- macOS, iOS etc.
- FreeBSD
- OpenBSD
- NetBSD
- GNU/Linux
- Android GNU/Linux-Kernel
- BSD
- DOS: MS-DOS, DR-DOS, PC DOS, FreeDOS …
- OS/2
- SkyOS
- OpenVMS
- Windows CE 6.0