Exokernel

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel ist nicht hinreichend mit Belegen (beispielsweise Einzelnachweisen) ausgestattet. Die fraglichen Angaben werden daher möglicherweise demnächst entfernt. Bitte hilf der Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst. Näheres ist eventuell auf der Diskussionsseite oder in der Versionsgeschichte angegeben. Bitte entferne zuletzt diese Warnmarkierung.
Bisher sind keinerlei Quellen angegeben. --DF5GO • 01:22, 9. Dez. 2012 (CET)

Ein Exokernel, auch als vertikal strukturiertes Betriebssystem bezeichnet, ist eine Art von Kernel und damit der zentrale Bestandteil eines Betriebssystems. Im Gegensatz zu den meisten anderen Kernels bietet es nur sehr wenig Abstraktion der Hardware für Programme und beschränkt sich darauf Ressourcenkonflikte zu verhindern und Zugriffsrechte zu prüfen.

Man kann sich Exokernels als eine konsequente Weiterführung des Microkernel-Konzepts vorstellen. Im Gegensatz zu diesen sind sie aber noch rigider in der Wahl der angebotenen Mechanismen.

Vergleich eines "normalen" (Microkernel, monolithischer Kernel) mit einem Exokernel. Der Exokernel bietet als einzige Abstraktion das Auflösen von Konflikten. Alle anderen Abstraktionen muss das Programm selber oder Libraries bereitstellen

Geschichte[Bearbeiten]

Das Konzept eines Exokernels existiert seit 1994, wurde allerdings (bis 2005) nur von dem Massachusetts Institute of Technology (MIT) für mehrere Systeme eingesetzt, darunter ExOs. Ein weiteres Konzept mit dem Namen Nemesis wurde von den Universitäten Cambridge und Glasgow, Cisco Systems und dem Swedish Institute of Computer Science entwickelt.

Funktion[Bearbeiten]

Die meisten Kernel verbergen die Hardware des Computers durch eine Hardwareabstraktionsschicht vor der Software. So ist es mit virtuellem Speicher zum Beispiel möglich, Arbeitsspeicher für ein Programm zu reservieren, die genaue Speicheradresse kann allerdings nicht festgelegt werden.

Exokernel hingegen beschränken sich auf so wenige Abstraktionen wie möglich. Sie erlauben Programmen den direkten Zugriff auf Speicherblöcke, Festplattenbereiche usw. Diese Freiheit kann dazu benutzt werden, Programme zu beschleunigen, indem unnötige Abstraktionen (und damit Zwischenschichten) ausgelassen werden. Die Aufgabe des Exokernels ist es dabei, festzustellen, ob die gewünschte Ressource frei ist, also kein Ressourcenkonflikt vorliegt, und ob sie auch vom jeweiligen Programm benutzt werden darf.

Bibliotheken[Bearbeiten]

Abstraktionen werden bei einem Exokernel-Betriebssystem ausserhalb vom Kernel durch ein System von Bibliotheken (Library) bereitgestellt, die denen herkömmlicher Betriebssysteme gleichen, allerdings, bedingt durch die Eigenarten des Exokernels, flexibler sind. So ist es - zumindest theoretisch - möglich, verschiedene Betriebssysteme wie Windows oder Unix auf einem Exokernel laufen zu lassen, indem jedes von ihnen unterschiedliche Bibliotheken benutzt.

Weblinks[Bearbeiten]