Virtualisierung: Unterstützung durch CPUs erst am Anfang

Die Virtualisierungssoftware fängt nun Befehle, die in Ring 0 nicht möglich sind, in Form einer Exception ab, so dass sie für das Gastbetriebssystem als privilegierte Befehle erscheinen. Im Falle von Speicherverwaltung bedeutet dies, dass die Virtualisierungssoftware aus der physikalischen Speichertabelle Speicher allokiert und in den Adressraum der Gastumgebung legt.

Bei der Intel-Architektur wird Speicher in einer Tabelle in Blöcken zu 4 KByte verwaltet. Die Gastumgebung hat eine gleich strukturierte Tabelle, jedoch wird der Zugriff darauf abgefangen und die Tabelle in Wahrheit von der Virtualisierungssoftware mit verwaltet.

Hier liegt ein großes Performancehindernis für vollvirtualisierte Umgebungen. Der eigentliche Hauptspeicher eines Computers ist relativ langsam. Eine Beschleunigung ergibt sich durch den Cache. Der Cachespeicher hängt jedoch immer komplett zusammen und wird aus Performancegründen nicht in Blöcken verwaltet.

Bei jedem Abfangen von Speicherverwaltung muss daher der Cache komplett in den Hauptspeicher geschrieben werden, was zusätzlich zu der emulierten Speicherverwaltung viel Zeit kostet.

Nachteile beim I/O-Zugriff

Ähnlich sieht es beim I/O-Zugriff aus. Hier liest und schreibt das Gastbetriebssystem in die I/O-Ports, was allerdings von der Virtualisierungssoftware abgefangen wird und in entsprechende Aktionen transformiert wird.
Während einfache Bausteine, etwa ein serielles oder ein paralleles Interface, mit wenigen I/O-Ports auskommen, müssen Devices, bei denen es auf Geschwindigkeit ankommt, in den Speicheradressraum des Prozessors gelegt werden.

Ein Standard-Ethernet-Paket beispielsweise kann bis zu 1500 Bytes groß sein. Neuere Ethernetkarten unterstützen auch Jumbo-Pakete mit bis zu 9000 Bytes. Da immer ein ganzes Paket übertragen werden muss, benötigt eine Ethernetkarte immer mindestens den Speicheradressraum für ein Paket. Moderne Ethernetkarten bieten jedoch Speicheradressraum für mehrere Pakete. Der Prozessor legt dabei mindestens ein Paket in den gemeinsamen Adressraum. Danach geschieht die Übertragung über den DMA-Baustein des Motherboards, damit der Prozessor weiterarbeiten kann und die Übertragung über I/O-Ports nicht selbst übernehmen muss.

Hier liegt das größte Performanceproblem der Vollvirtualisierung. Die echten DMA-Bausteine können nur im Kernel-Mode verwaltet werden. Daher muss bei jeder Verwendung eines Peripheriegerätes, etwa Netzwerk, Festplatte oder Bildschirm, ein Taskswitch in die Virtualisierungssoftware durchgeführt werden, der dazu führt, dass der Cache invalidiert wird und der langsame Hauptspeicher bemüht werden muss.

Um diese Performancenachteile einer virtualisierten Umgebung auszugleichen, gibt es verschiedene Ansätze. Ein softwareseitiger Ansatz ist der Austausch von Treibern nach der Installation des Gastbetriebssystems. Diese neuen Treiber versuchen nicht mehr, die Hardware zu programmieren, sondern übergeben Pakete, die an Netzwerkkarte, Festplattencontroller oder Videokarte gesendet werden sollen, an die Virtualisierungssoftware.

Allerdings ist auch diese Übergabe nicht ohne Performanceverlust. Da das Gastbetriebssystem grundsätzlich davon ausgeht, den gesamten Adressraums eines Computers alleine nutzen zu können, müssen die Treiber absichtlich einen privilegierten Befehl ausführen, um eine Exception zu provozieren.

Dies hat natürlich wieder eine Invalidierung des Caches zur Folge. Erst dann kann die Virtualisierungssoftware die Pakete abholen. Lediglich die Emulation der Devices und der DMA-Bausteine fällt in diesem Fall weg.

Page: 1 2 3 4 5 6

ZDNet.de Redaktion

Recent Posts

Latrodectus: Gefährlicher Nachfolger von IcedID

Latrodectus, auch bekannt als BlackWidow, ist auch unter dem Namen LUNAR SPIDER bekannt.

1 Tag ago

Apple meldet Rekordumsatz im vierten Fiskalquartal

Die Einnahmen klettern auf fast 95 Milliarden Dollar. Allerdings belastet der Steuerstreit mit der EU…

5 Tagen ago

Baseus Bowie 30 Max: Erste Bluetooth-Kopfhörer mit Head-Tracking-Spatial-Audio

Neue Over-Headset-Kopfhörer von Baseus bieten Raumklang-Audio und unterdrücken Störgeräusche um rund 96 Prozent.

5 Tagen ago

Microsoft steigert Umsatz und Gewinn im ersten Fiskalquartal

Das stärkste Wachstum verbucht die Cloud-Sparte. Microsoft verpasst bei der Umsatzprognose für das laufende Quartal…

5 Tagen ago

Bezahlkarten: Infineon verspricht weniger Plastikmüll

Ein Coil-on-Module-Package integriert Chip und Antenne, was den Kartenkörper fast vollständig recycelbar machen soll.

6 Tagen ago

Firefox 132 schließt elf Sicherheitslücken

Mindestens eine Anfälligkeit erlaubt das Einschleusen von Schadcode. Außerdem erweitern die Entwickler den Support für…

6 Tagen ago