Paravirtualisierung - Paravirtualization

Beim Computing ist Paravirtualisierung oder Paravirtualisierung eine Virtualisierungstechnik , die den virtuellen Maschinen eine Softwareschnittstelle bietet, die der zugrunde liegenden Hardware-Software-Schnittstelle ähnlich, jedoch nicht identisch ist.

Mit der geänderten Schnittstelle soll der Teil der Ausführungszeit des Gastes reduziert werden, der für die Ausführung von Vorgängen aufgewendet wird, deren Ausführung in einer virtuellen Umgebung im Vergleich zu einer nicht virtualisierten Umgebung wesentlich schwieriger ist. Die Paravirtualisierung bietet speziell definierte "Hooks", mit denen Gast (en) und Host diese Aufgaben anfordern und bestätigen können, die andernfalls in der virtuellen Domäne ausgeführt würden (wo die Ausführungsleistung schlechter ist). Eine erfolgreiche paravirtualisierte Plattform kann es ermöglichen, dass der Virtual Machine Monitor (VMM) einfacher ist (indem die Ausführung kritischer Aufgaben von der virtuellen Domäne in die Hostdomäne verlagert wird) und / oder die allgemeine Leistungsverschlechterung der Maschinenausführung innerhalb des virtuellen Gasts verringert wird.

Para erfordert das Gastsystem Betriebs explizit werden portiert für die Para- API - eine herkömmliche Verteilung OS , die nicht paravirtualisierten-aware ist , kann nicht auf einem paravirtualizing VMM ausgeführt werden. Selbst in Fällen, in denen das Betriebssystem nicht geändert werden kann, sind möglicherweise Komponenten verfügbar, die viele der wesentlichen Leistungsvorteile der Paravirtualisierung ermöglichen. Das Xen Windows GPLPV- Projekt bietet beispielsweise ein Kit paravirtualisierungsfähiger Gerätetreiber, die gemäß den Bestimmungen der GPL lizenziert sind und auf einem virtuellen Microsoft Windows- Gast installiert werden sollen, der auf dem Xen- Hypervisor ausgeführt wird. Auf solche Anwendungen kann in der Regel über die paravirtuelle Maschinenschnittstellenumgebung zugegriffen werden. Dies stellt die Kompatibilität des Run-Modus über mehrere Verschlüsselungsalgorithmusmodelle hinweg sicher und ermöglicht eine nahtlose Integration in das paravirtuelle Framework.

Geschichte

Paravirtualisierung ist ein neuer Begriff für eine alte Idee. Das VM- Betriebssystem von IBM bietet eine solche Funktion seit 1972 (und früher als CP-67 ). In der VM-Welt wird dies als "DIAGNOSE-Code" bezeichnet, da ein Anweisungscode verwendet wird, der normalerweise nur von Hardware-Wartungssoftware verwendet wird und daher nicht definiert ist.

Das Betriebssystem Parallels Workstation nennt das Äquivalent "Hypercall". Alle sind dasselbe: ein Systemaufruf an den unten stehenden Hypervisor . Solche Anrufe erfordern Unterstützung im "Gast" -Betriebssystem, das hypervisorspezifischen Code haben muss, um solche Anrufe zu tätigen.

Der Begriff "Paravirtualisierung" wurde erstmals in der Forschungsliteratur in Zusammenarbeit mit dem Denali Virtual Machine Manager verwendet. Der Begriff wird auch verwendet, um die Hypervisoren Xen , L4 , TRANGO , VMware , Wind River und XtratuM zu beschreiben . Alle diese Projekte verwenden oder können Paravirtualisierungstechniken verwenden, um virtuelle Hochleistungsmaschinen auf x86- Hardware zu unterstützen, indem eine virtuelle Maschine implementiert wird, die die schwer zu virtualisierenden Teile des tatsächlichen x86-Befehlssatzes nicht implementiert.

Ein Hypervisor stellt die Virtualisierung des zugrunde liegenden Computersystems bereit. Bei der vollständigen Virtualisierung wird ein Gastbetriebssystem auf einem Hypervisor unverändert ausgeführt. Eine verbesserte Leistung und Effizienz wird jedoch erreicht, indem das Gastbetriebssystem mit dem Hypervisor kommuniziert. Indem das Gastbetriebssystem dem Hypervisor seine Absicht mitteilen kann, kann jeder zusammenarbeiten, um eine bessere Leistung zu erzielen, wenn er in einer virtuellen Maschine ausgeführt wird. Diese Art der Kommunikation wird als Paravirtualisierung bezeichnet.

Im Jahr 2005 schlug VMware eine Paravirtualisierungsschnittstelle vor, die Virtual Machine Interface (VMI), als Kommunikationsmechanismus zwischen dem Gastbetriebssystem und dem Hypervisor. Diese Schnittstelle ermöglichte eine transparente Paravirtualisierung, bei der eine einzelne Binärversion des Betriebssystems entweder auf nativer Hardware oder auf einem Hypervisor im paravirtualisierten Modus ausgeführt werden kann. Als AMD- und Intel-CPUs die Unterstützung für eine effizientere hardwareunterstützte Virtualisierung hinzufügten, wurde der Standard überholt und die VMI-Unterstützung wurde in 2.6.37 vom Linux-Kernel und 2011 von VMware-Produkten entfernt.

Im Jahr 2008 kündigte Red Hat die VirtIO- Paravirtualisierung für KVM und Linux an. Der VirtIO-Treiber für Microsoft Windows ist ebenfalls verfügbar.

Im Jahr 2008 kündigte Microsoft die Hyper-V- Paravirtualisierung an.

Unterstützung der Linux-Paravirtualisierung

Auf der USENIX-Konferenz 2006 in Boston, Massachusetts , arbeiteten eine Reihe von Linux-Entwicklungsanbietern (darunter IBM, VMware, Xen und Red Hat) an einer alternativen Form der Paravirtualisierung, die ursprünglich von der Xen-Gruppe entwickelt wurde und "paravirt-ops" heißt. . Der Paravirt-Ops-Code (oft mit pv-Ops abgekürzt) war ab der Version 2.6.23 im Linux- Hauptkernel enthalten und bietet eine hypervisorunabhängige Schnittstelle zwischen dem Hypervisor und dem Gastkernel. Die Distributionsunterstützung für pv-ops-Gastkerne wurde ab Ubuntu 7.04 und RedHat 9 angezeigt. Xen-Hypervisoren, die auf einem Kernel mit 2.6.24 oder höher basieren, unterstützen pv-ops-Gäste, ebenso wie das Workstation-Produkt von VMware ab Version 6. VirtualBox unterstützt es ab Version 6 5.0.

Siehe auch

Verweise

Externe Links