Tomasz Zajda - Fotolia

Schnittstellen-Funktionen der Paravirtualisierung

Die Paravirtualisierungs-Schnittstelle unterstützt Storage I/O und Netzwerkkommunikation, Low-Level Systemverhalten, emulierte Motherboards und ältere Hardwareplattformen.

Paravirtualisierung bezeichnet den Vorgang, das Gast-Betriebssystem einer virtuellen Maschine (VM) direkt mit dem zugrunde liegenden Hypervisor kommunizieren zu lassen, so wie es etwa bei Xen der Fall ist. Das bedeutet, dass das Gast-Betriebssystem sich seiner grundlegenden Virtualisierung selber bewusst ist. Es bedeutet ebenfalls, dass das Gast-Betriebssystem für eine solche direkte Kommunikation angepasst oder verändert werden muss.

Vollständige Virtualisierung – inzwischen sogar durch Befehlssätze in Prozessoren per Hardware direkt unterstützt – setzt auf komplette Hardwareemulation und ermöglicht eine solche direkte Kommunikation nicht. Jedes Gastbetriebssystem hat bei vollständiger Virtualisierung nicht den Schimmer einer Ahnung von seinem zugrunde liegenden Hypervisor, geschweige denn überhaupt seiner Virtualisierung. Eine Anpassung des Betriebssystems ist daher für die vollständige Virtualisierung nicht erforderlich.

Grundsätzlich schränkt die Notwendigkeit eines angepassten Betriebssystems die Anzahl der Betriebssysteme ein, die überhaupt für das Deployment in Frage kommen. Auf der Habenseite steht, dass die Paravirtualisierung inzwischen sogar Teil des Linux-Kernels und weiterer Betriebssysteme ist, womit Open Source mehr Optionen ermöglicht.

Paravirtualisierung umfasst emulierte Unterstützung für Mainboards, so dass Softwaretreiber die Unterschiede in den Schaltkreisen unterschiedlicher physikalischer Mainboards ausgleichen können.

Eine Schnittstelle für Paravirtualisierung, die in ein Betriebssystem integriert ist, bietet in aller Regel Funktionen in vier Bereichen. Sie bietet Laufwerks- sowie Netzwerktreiber für Storage I/O und Netzwerkkommunikation. Low-level Systemverhalten wie Interrupts und Timer werden ebenfalls unterstützt, so dass Geräte darauf zugreifen und Systemhardware nutzen können. Eine paravirtualisierte VM kann zum Beispiel blockbasierende Laufwerksspeicher, SCSI-Laufwerksspeicher, USB-Geräte, VGA-Adapter und PCI-Geräte betreiben.

Paravirtualisierung umfasst emulierte Unterstützung für Mainboards, so dass Softwaretreiber die Unterschiede in den Schaltkreisen unterschiedlicher physikalischer Mainboards ausgleichen können. Dadurch wird die Systemhardware-Unterstützung für die Paravirtualisierung ausgeweitet. Per Legacy-Boot können Systeme auch mit gewöhnlicher I/O-System-Firmware gestartet werden, statt mit der UEFI-Firmware (Unified Extensible Firmware Interface). Dies hilft dabei, auch ältere Systeme zu unterstützen, die vielleicht noch für den Betrieb von Bestandssoftware benötigt werden. Jeder dieser funktionalen Bereiche kann grundsätzlich exzellente Leistung aufweisen.

Zusätzliche Features für Paravirtualisierungs-Schnittstellen können zum Beispiel die Unterstützung für privilegierte Befehle und Seitentabellen sein. Privilegierte Befehle sind Prozessoroperationen auf extrem tiefer Ebene, die nur im Protected Mode ausgeführt werden können. Dazu gehören etwa der Zugriff auf I/O-Geräte und sensible Datenstrukturen.

Die Unterstützung für Seitentabellen ermöglicht es dem Betriebssystem, physikalischen Speicherplatz im virtuellen Speicherplatz abzubilden. Dieser virtuelle Speicher wird durch die VM genutzt, während der physikalische Speicher von der zugrunde liegenden Hardware verwaltet wird. Die Leistung privilegierter Befehle und Seitentabellen ist in der Regel nicht so gut wie anderer Funktionen.

Folgen Sie SearchNetworking.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Die Vor- und Nachteile von Paravirtualisierung

Vorteile und Nachteile von Hyper-Threading für den Hypervisor

Gratis-Book: Einführung in die Xen-Virtualisierung

Erfahren Sie mehr über Containervirtualisierung