Paravirtualisierung
# Paravirtualisierung

In der Informatik ist Paravirtualisierung eine Technologie zur Virtualisierung, die eine Softwareschnittstelle bereitstellt, die ähnlich, aber nicht identisch mit der tatsächlichen Hardware ist. Das Betriebssystem muss portiert werden, um auf der virtuellen Maschine (VM) ausgeführt werden zu können, was die Rechteinhaber proprietärer Betriebssysteme aus strategischen Gründen ablehnen können. Die Portierung vereinfacht jedoch den Aufbau der VM und ermöglicht den darauf ausgeführten virtuellen Maschinen eine höhere Leistung.

## Geschichte

„Paravirtualisierung“ ist ein neuer Begriff für eine alte Idee. IBMs Betriebssystem z/VM stellt eine solche Funktionalität seit mehreren Jahrzehnten zur Verfügung. In diesem Betriebssystem wird diese Funktion „DIAGNOSE code“ genannt, weil sie auf Befehle zurückgreift, die normalerweise nur von Hardware-Wartungssoftware benutzt werden. IBMs Conversational Monitor System nutzt DIAGNOSE-Codes, um Dienste in z/VM zu starten. Das Betriebssystem der Parallels Workstation nennt die gleiche Funktion „hypercall“. Dabei handelt es sich jeweils um einen Systemaufruf an den darunterliegenden Hypervisor. Solche Aufrufe müssen vom Gast-Betriebssystem unterstützt werden, das an den Hypervisor angepassten Code bereitstellen muss, der diese Aufrufe tätigt.

## Implementierungen für die x86-Architektur

Die Paravirtualisierung wird üblicherweise in Ring 0 der x86-Architektur ausgeführt. Das Betriebssystem wird so verändert, dass es ohne Befehlsausführungen in Ring 0 auskommt.

Der Begriff „Paravirtualisierung“ wurde zuerst in der Forschungsliteratur im Zusammenhang mit der virtuellen Maschine des Betriebssystems Denali verwendet. Der Ausdruck wird auch in den Beschreibungen der Xen-, L4- und TRANGO-Hypervisoren verwendet. Diese Projekte setzen Paravirtualisierung ein, um leistungsfähige virtuelle Maschinen auf der x86-Architektur zu unterstützen.

