Monolithischer Kernel: Unterschied zwischen den Versionen
K Dirkwagner verschob die Seite Monolithischer Kernel nach Betriebssysteme:Monolithischer Kernel, ohne dabei eine Weiterleitung anzulegen |
Keine Bearbeitungszusammenfassung |
||
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
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. | 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. | * Für die Treiber werden keine zusätzlichen Programme benötigt, ein Geschwindigkeitsvorteil gegenüber einem Mikrokernel. | ||
Die Möglichkeit hardwarespezifischen Funktionen von den allgemeinen zu trennt ( | * 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== | ==Vorteile== | ||
*Da die gesamten Betriebssystemfunktionen im Kernel-Modus ablaufen, wird der zeit- und rechenaufwändige Wechsel zwischen den Ringen des Protected Mode minimal gehalten. | *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). | *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. | *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== | ==Nachteile== | ||
*Das Auswechseln von Funktionalitäten muss durch eine geschickte Verwaltung (beispielsweise durch Module) erfolgen. | *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. | *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== | ==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 24: | Zeile 29: | ||
*OpenVMS | *OpenVMS | ||
*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