Mikrokernel
aus Wikipedia, der freien Enzyklopädie
Ein Mikrokernel (oder auch Mikrokern) bezeichnet einen Betriebssystemkern. Dieser wird vor allem bei Echtzeitbetriebssystemen verwendet. Der Mikrokernel verfügt über weniger Funktionen als ein Monolithischer Kernel - in der Regel lediglich Funktionen zur Speicher- und Prozessverwaltung, sowie Grundfunktionen zur Synchronisation und Kommunikation.
Die Gerätetreiber laufen zusammen mit einem Anwendungsprogramm auf Nutzerebene – im Gegensatz zu Monolithischen Kerneln, bei denen alle Treiber im privilegierten Modus laufen.
Durch die schlechte Performance einiger früherer Implementierungen haben sie den Ruf, eher langsam und unübersichtlich zu sein. Jedoch gibt es inzwischen Kernel, die durch Abbau weiterer Funktionalität, aber auch durch starke Optimierung (z. T. mit Verlust der Portabilität) einen hohen Datendurchsatz erreichen und so an Interesse gewinnen.
Auf der PowerPC-Architektur sind extrem performante Mikrokernel realisierbar, da hier die Kontextwechsel wesentlich schneller durchgeführt werden können als auf älteren Architekturen (wie etwa x86).
Inhaltsverzeichnis |
[Bearbeiten] Vorteile
- Klares Interface und separierte Komponenten
Einzelne Bestandteile des Betriebssystems können beliebig ausgetauscht werden, ohne dass dadurch andere Teile beeinträchtigt werden. Dies wird durch ein klares Interface-Design ermöglicht. Der Absturz einer einzelnen Komponente führt nicht zwangsläufig zum Zusammenbruch des gesamten Systems.
- kleine Trusted Computing Base
Der Kern-Code, dem ein Nutzer vertrauen muss, ist im Vergleich zu monolithischen Betriebssystemen relativ klein und somit einfacher zu verifizieren. Die Vision hierbei ist, die Korrektheit des kompletten Betriebssystems zu beweisen.
[Bearbeiten] Nachteile
- Geschwindigkeit
Da das auf dem Mikrokern laufende Betriebssystem aus vielen einzelnen Nutzer-Prozessen besteht, sind wesentlich mehr Kontextwechsel nötig als bei monolithischen Betriebssystemen. Dadurch ist ein Mikrokern in der Regel langsamer als ein Monolith.
- Synchronisation
Aus der Eigenschaft der vielen einzelnen Nutzer-Prozesse ergibt sich die Anforderung an eine komplizierte und performante Synchronisation derselben.
[Bearbeiten] Bekannte Mikrokernel
- Mach
- Kernschnittstelle L4, Implementierungen:
- Fiasco
- L4Ka::Pistachio
- L4Ka::Hazelnut
- Quark
- NewOS
- KeyKOS, EROS, Coyotos
[Bearbeiten] Betriebssysteme, die auf Mikrokerneln aufsetzen
- AmigaOS
- BeOS
- Chorus/MIX
- Haiku
- GNU HURD
- L4Linux
- Mac OS X / NextStep (Hybridkernel)
- Minix
- MkLinux
- MorphOS
- Mona
- PC/GEOS
- PikeOS
- QNX Neutrino
- ReactOS
- Singularity
- Symbian OS
- Tru64
- Windows NT (ab Version 4.0 Hybridkernel) und darauf basierende Betriebssysteme
- Zeta
- ThreadX