Paravirtualisierung

virtualization technique
Dies ist die gesichtete Version, die am 13. November 2021 markiert wurde. Es existieren 2 ausstehende Änderungen, die noch gesichtet werden müssen.

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

Bearbeiten

„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

Bearbeiten

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.[1] 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.

Siehe auch

Bearbeiten

Einzelnachweise

Bearbeiten
  1. A. Whitaker, M. Shaw, and S. D. Gribble, "Denali: Lightweight Virtual Machines for Distributed and Networked Applications", Univ. of Washington Technical Report 02-02-01, (2002). (Zu finden bei Denali publications, technical reports, and talks (Memento des Originals vom 14. Januar 2008 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/denali.cs.washington.edu)
Bearbeiten