Ein Hypervisor des Typs 1 wird auch als Mikrokernel, Thin-Hypervisor oder autonomer Hypervisor bezeichnet, der auf „Bare Metal“ (auf einem reinen, physischen Server) läuft. Typ-1-Hypervisoren kann man sich am besten als kompaktes Betriebssystem mit spezifischen Funktionen vorstellen, das direkt auf einem Bare-Metal-Server installiert wird und die Hauptmerkmale eines Betriebssystems aufweist:
- Er stellt abstrakte Ressourcen für Anwendungen dar, anstatt einer ungeordneten Menge von Hardware;
- Er steuert den Ressourcenpool, indem CPU-Zeit, Speicher und E/A-Geräte zwischen Programmen verteilt werden, die Computerressourcen benötigen.
Diese Art von Hypervisor sorgt dafür, dass die unter seiner Kontrolle gestarteten Gastbetriebssysteme auf der oberen Ebene eine Abstraktion einer virtuellen Maschine erhalten. Dadurch entsteht die Illusion, dass jedes Gastbetriebssystem die volle Kontrolle über alle darunter liegenden Ressourcen hat. Dies funktioniert genauso wie ein Betriebssystem, das auf echter Hardware im privilegierten Modus bzw. Kernel-Modus läuft, nämlich als Supervisor.
Funktionsprinzip eines Typ-1-Hypervisors
Ein Supervisor ist ein zentrales Kontrollmodul, das Herz des Betriebssystems. Er kann aus mehreren Teilen bestehen: einem Programm-Supervisor, einem Task-Manager, einem I/O-Supervisor und anderen.
Die meisten modernen Server- und Desktop-CPUs von Intel und AMD unterstützen die Virtualisierung auf Hardware-Ebene. Das Betriebssystem kann in zwei Modi verwendet werden: im privilegierten Modus bzw. Kernel-Modus und im Benutzermodus. Die Zugriffsrechte der Anwendung, die die Ressourcen des Computers steuert, sind stark reglementiert.
Hypervisoren des Typs 1 haben eine sehr wichtige Eigenschaft: Die Größe ihres Codes ist hundertmal kleiner als bei den meisten modernen Betriebssystemen. Dadurch treten weniger Fehler auf, die das System zum Stillstand bringen können. Ein Fehler in einem der Betriebssysteme sollte sich nicht auf die anderen Systeme auf denselben physischen Geräten auswirken.
Sicherheit ist eine der Hauptanforderungen an Hypervisoren, da sie die Hardwareressourcen vollständig kontrollieren, auf denen die Virtualisierung ausgeführt wird. Folglich ist die Aufgabe des Hypervisors, den Maschinencode auf sichere Weise auszuführen und gleichzeitig zu verhindern, dass ein Gastbetriebssystem…
- …Unterbrechungen blockiert;
- … die Seitentabellen des virtuellen Speichers an den physischen Speicher des gesamten Rechners angepasst werden;
- …Daten in Speicherzellen ändert, die anderen laufenden Prozessen vorbehalten sind (außer in Fällen, in denen die Aufgabe dies erfordert). Systemaufrufe werden ebenfalls abgefangen und innerhalb des Hypervisors ausgeführt, während es so scheint, dass jedes Gastbetriebssystem den Code in seinem eigenen privilegierten Modus ausführt. Mit anderen Worten: Der Hypervisor erzeugt die Illusion, dass der Code des Gastbetriebssystems auf der Hardwareebene im privilegierten Modus ausgeführt wird, während er in Wirklichkeit im Gastmodus läuft. Wenn eines der Gastsysteme abstürzt, funktionieren die anderen weiter.
Der Hypervisor ist letztendlich die einzige Software, die im Modus mit vollen Rechten ausgeführt wird. Diese Eigenschaft des Hypervisors wird als „Äquivalenz“ bezeichnet – das Verhalten von Benutzerprogrammen ändert sich nicht, wenn sie auf der virtuellen Maschine oder auf physischer Hardware arbeiten – mit Ausnahme der Zeit.
Die Zeit, die für die Ausführung von Code benötigt wird, unterscheidet sich stark. Der Hypervisor benötigt einen Teil der CPU-Zeit für das Abfangen und Analysieren der Anweisungen des Gastbetriebssystems sowie für die Emulation der Ausführung. Zudem werden die Ressourcen des physischen Geräts in der Regel auf mehrere VMs aufgeteilt, und jede von ihnen erhält nur einen Teil der CPU-Zeit auf Abruf. Dies reicht jedoch aus, um die meisten Prozesse problemlos auszuführen; nicht alle werden mit der gleichen Intensität genutzt. Einige Prozesse können im Standby-Modus laufen und auf Benutzereingaben oder das Herunterfahren langsamer Peripheriegeräte warten. Diese Zeit wird effektiv genutzt, da das System sie auf andere aktive Prozesse im Multitasking-Modus verteilt.
Xen, VMware ESXi, Hyper-V und andere Hypervisoren können als Typ 1 bezeichnet werden.
Xen (Xenserver, Citrix Hypervisor)
Der Xen Thin Hypervisor wurde im Rahmen eines Forschungsprojekts des Cambridge University Laboratory entwickelt. Die erste öffentliche Version wurde 2003 von XenSource auf den Markt gebracht. XenSource wurde 2007 von Citrix übernommen, wodurch einige Produkte umbenannt wurden. Xen ist ein plattformübergreifender Hypervisor, der Hardwarevirtualisierung und Paravirtualisierung unterstützt. Die meisten Komponenten befinden sich außerhalb des Hypervisors, sodass Xen nur eine minimale Menge an Code enthält. Xen ist ein vollständig quelloffener Hypervisor, der unter der GNU GPL 2 lizenziert ist. Das bedeutet, dass das Produkt an die Bedürfnisse des Anwenders angepasst werden kann. Xen wird aufgrund seiner Unterstützung für Paravirtualisierung und Hardwarevirtualisierung mitunter als hybrider Hypervisor bezeichnet.
VMware ESXi
Der autonome Hypervisor VMware ESXi ist eine von VMware entwickelte Virtualisierungslösung der Enterprise-Klasse. Wie andere VMware-Produkte ist ESXi mit eingeschränkter Funktionalität kostenlos erhältlich. Die kostenpflichtige Vollversion unterstützt Funktionen wie die zentrale Steuerung aller VMs auf jedem Host des Projekts über die vCenter-Plattform. Aber auch die kostenlose Version erfüllt alle Hauptaufgaben des Hypervisors. Nutzerbewertungen zeigen, dass das Produkt sehr stabil und einfach zu verwalten ist, nur eine minimale Menge an Code benötigt und eine breite Palette von Gastsystemen unterstützt, die im Unternehmensbereich üblich sind.
Hyper-V
Hyper-V ist eine von Microsoft entwickelte Hardware-Virtualisierungslösung für x64-Systeme. Sie ist in zwei Varianten erhältlich: als Rolle in den Server-Betriebssystemen der Windows-Familie (Windows Server 2008, Windows Server 2012 usw.) sowie in den x64 Pro- und Enterprise-Versionen von Windows 8, Windows 8.1, Windows 10 und als separates Produkt – Microsoft Hyper-V Server. Viele Anwender, die an Microsoft-Lösungen gewöhnt sind, halten Hyper-V für einen der komfortabelsten Hypervisoren, wenn es um Virtualisierung geht. Die Azure-Cloud basiert übrigens vollständig auf nativen Microsoft-Produkten.