Hypervisor, auch Virtual-Machine-Monitor genannt, ist die Bezeichnung für eine Klasse von Systemen der praktischen Informatik, die als abstrahierende Schicht zwischen tatsächlich vorhandener Hardware (und ggf. auf dem System bereits installiertem Betriebssystem) und weiteren zu installierenden Betriebssystemen dient. Solche Systeme erlauben es, eine virtuelle Umgebung zu definieren, die unabhängig von der tatsächlichen Hardware als Basis für die Installation von (Gast-)Betriebssystemen dient.

 

„Hyper“ stammt aus dem Griechischen und bedeutet „über“. „Visor“ lässt sich aus dem Lateinischen „videre“ ableiten, was „sehen“ bedeutet. Sinngemäß übersetzt handelt es sich also um ein System, welches als „Aufseher“ etwas bzw. weitere Systeme „überblickt“ bzw. „etwas überwacht“.

 

Hypervisoren erlauben den simultanen Betrieb mehrerer Gastsysteme auf einem Hostsystem. Der Hypervisor verwaltet die Ressourcenzuteilung für einzelne Gastsysteme. Er verteilt die Hardware-Ressourcen derart, dass für jedes einzelne Gastbetriebssystem alle Ressourcen bei Bedarf verfügbar sind, so, als ob nur ein Betriebssystem vorhanden wäre. Dies kann durch Hardware-Emulation, Hardware-Virtualisierung oder Paravirtualisierung stattfinden. Den einzelnen Gastsystemen wird dabei jeweils ein eigener kompletter Rechner mir allen hardware-Elementen (Prozessor, Laufwerke, Arbeitsspeicher usw.) vorgespielt. Die tatsächlich vorhandene Hardwareumgebung wird als Hostsystem bezeichnet. Das ggf. darauf installierte Betriebssystem wird als Hostbetriebssystem bezeichnet.

 

Die virtuelle Umgebung mit dem installierten Gastbetriebssystem (oft auch als Virtuelle Maschine oder Gastsystem bezeichnet) ist auf allen Hostsystemen lauffähig, auf denen der Hypervisor installiert bzw. lauffähig ist. Es spielt dabei aus Sicht des Gastsystems keine Rolle, auf welcher Hardwareumgebung der Hypervisor selbst installiert ist, das der Hypervisor von der tatsächlich vorhandenen Hardware abstrahiert.

 

Hypervisoren können, wenn bestimmte Voraussetzungen durch die Hardware erfüllt werden, vollständig softwarebasiert umgesetzt werden, d.h. es sind grundsätzlich keine virtualisierungsspezifischen Erweiterungen im Prozessor erforderlich. Da sich durch Erweiterungen im Prozessor(Befehlssatz) jedoch sowohl Geschwindigkeits- als auch Sicherheitsvorteile erzielen lassen, bieten viele Prozessorarchitekturen hardwareseitig implementierte Befehlserweiterungen für die Virtualisierung an.