Zum Inhalt springen

Mikrokernel

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 17. Mai 2005 um 15:47 Uhr durch BjoernD (Diskussion | Beiträge) (Vorteile). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Ein Mikrokernel (oder auch Mikrokern) bezeichnet einen vor allem bei Echtzeitbetriebssystemen verwendeten Betriebssystemkern, der weniger Funktionen als ein normaler Monolithischer Kernel enthält. Hier finden sich in der Regel lediglich Funktionen zur Prozessverwaltung und 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üher Implementationen 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).

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.

Nachteile

bekannte Mikrokernel:

  • Mach
  • Kernschnittstelle L4, Implementierungen:
    • Fiasco
    • L4Ka::Pistachio
    • L4Ka::Hazelnut
  • Quark

Betriebssysteme, die auf Mikrokernen aufsetzen: