Hybridkernel

Ein Hybridkernel (auch Makrokernel) ist ein Kompromiss zwischen einem Mikrokernel und einem monolithischen Kernel, bei dem aus Geschwindigkeitsgründen einige Teile von monolithischen Kerneln in den Kernel integriert sind. Dadurch ist er kein reiner Mikrokernel mehr, besitzt aber auch noch nicht genügend Funktionen, um als monolithischer Kernel zu gelten.

Struktur von monolithischem Kernel, Mikrokernel und Hybridkernel im Vergleich

Es ist nicht allgemeingültig definiert, welche Bestandteile in den Kernel kompiliert werden und welche als Module hinzugeladen werden. Zum Beispiel ist im Windows-NT-Kernel[1] in den Versionen 4.0 bis 5.2 das Grafiksystem enthalten. Bei der letzten BeOS-Betaversion wurden die Netzwerktreiber in den Kernel kompiliert. Auch Darwin, das eigentlich einen Mach-Mikrokernel enthält, bindet aus Leistungsgründen einen Teil der Gerätetreiber in den Mach-Kernel ein.

Das Hybridkernel-Konzept versucht, die Vorteile des Mikro- und des monolithischen Kernels zu vereinen: Einerseits ist ein Hybridkernel nicht so fehleranfällig wie ein monolithischer Kernel, da zum Beispiel nicht alle Treiber im privilegierten Modus laufen und somit bei einem Absturz nicht das ganze System zum Absturz bringen können. Andererseits sind nicht so viele Kontextwechsel nebst Kommunikation nötig wie bei einem Mikrokernel, was die Geschwindigkeit des Kernels erhöht.

  1. http://technet.microsoft.com/library/cc750820.aspx

Developed by StudentB