Das, was auf einem Hypervisor ausgeführt wird, sind ein oder mehrere vollständige Betriebssysteme. Ein Hypervisor virtualisiert die Hardware, so dass jedes Betriebssystem "ausgetrickst" wird, zu glauben, dass es eine ganze Maschine für sich hat. Das technische Genie von Hypervisoren besteht darin, diese Virtualisierung mit geringen oder keinen Kosten bereitzustellen (im Vergleich zum Ausführen eines Betriebssystems direkt auf der physischen Hardware).
Die Sache, die auf einem Exokernel läuft, ist eine Reihe von Prozessen auf Benutzerebene. Die Prozesse werden jeweils an eine Bibliothek angehängt (möglicherweise dieselbe Bibliothek, möglicherweise unterschiedliche Bibliotheken), die verschiedene Dienste und Richtlinien bereitstellen. Das Ziel des Exokernels besteht darin, nur Schutz zu bieten (um zu verhindern, dass ein Prozess die für einen anderen Prozess bestimmten Ressourcen verwendet) und Programme auf Benutzerebene die für sie effizientesten Richtlinien auswählen zu lassen. Exokernel war wirklich ein Forschungsprojekt, dessen Hauptausgabe eine Reihe von Studien über verschiedene Arten von Betriebssystemdiensten und die Hindernisse für eine effiziente Implementierung dieser Dienste war. Eine andere Möglichkeit, das Exokernel-Projekt anzuzeigen, bestand darin, zu untersuchen, wie ein Mikrokernel erstellt wird das ist nicht schrecklich ineffizient und langsam.
Eines der großen Probleme bei Mikrokernen besteht darin, dass sie ständig "Prozessgrenzen überschreiten" und / oder häufiger zwischen Benutzermodus und Kernelmodus hin und her wechseln als ein monolithischer Kernel (wie Linux). Die Kosten für den Wechsel vom Benutzermodus in Der Kernel-Modus oder vom Kernel-Modus zum Benutzermodus ist überraschend hoch (in den Tausenden von Maschinenzyklen pro Switch).
Mir ist nicht klar, inwieweit das Exokernel-Projekt erfolgreich war oder fehlgeschlagen ist. Es gibt sicherlich mehrere Fälle, in denen sie überraschende neue Möglichkeiten zur Bereitstellung von Ressourcenschutz gefunden haben (wie das Festplattenmodell, bei dem das Betriebssystem Berechtigungen für Festplattenblöcke verwaltet und das gesamte Dateisystem auf Benutzerebene verwaltet wird). Sie konnten auch einige der guten Ideen aus dieser Zeit nutzen, zum Beispiel Carl Waldsburgers Lotterieplanungstechniken. In einigen Fällen erwies sich der funktionsbasierte Schutz als ziemlich effizient.
Es gab andere Fälle, in denen die Bereitstellung von Richtlinienflexibilität die Anzahl der Kernel-Grenzüberschreitungen dramatisch erhöhte und sie auf andere Techniken zurückgreifen mussten. Beispielsweise haben sie bei der Netzwerkpaketfilterung anstelle der Filterung auf Benutzerebene diese im Kernel durchgeführt, dem Benutzerprogramm jedoch die Möglichkeit gegeben, ein kleines Programm (in einer eingeschränkten (und daher sicheren) Programmiersprache) einzureichen, das ausgeführt werden würde der Kernel. Ähnliche Ideen in diesem Bereich wurden ungefähr zur gleichen Zeit vom SPIN-Betriebssystemprojekt der University of Washington untersucht .