ESXi virtualisiert den physischen Arbeitsspeicher des Gasts, indem eine zusätzliche Ebene der Adressübertragung hinzugefügt wird.

  • Der VMM der einzelnen virtuellen Maschinen übernimmt die Zuordnung der physischen Arbeitsspeicherseiten des Gastbetriebssystems zu den physischen Arbeitsspeicherseiten der zugrunde liegenden Maschine. (VMware bezeichnet die physischen Seiten des zugrunde liegenden Hosts als Maschinenseiten und die physischen Seiten des Gastbetriebssystems als physische Seiten.)

    Jede virtuelle Maschine verfügt über einen zusammenhängenden, nullbasierten, adressierbaren physischen Arbeitsspeicher. Der zugrunde liegende Maschinenarbeitsspeicher des von den virtuellen Maschinen verwendeten Servers ist nicht unbedingt zusammenhängend.

  • Der VMM fängt Anweisungen virtueller Maschinen ab, die die Verwaltungsstrukturen für die Arbeitsspeicher des Gastbetriebssystems manipulieren, sodass die eigentliche Arbeitsspeicherverwaltungseinheit (MMU) des Prozessors nicht direkt durch die virtuelle Maschine aktualisiert wird.

  • Der ESXi-Host verwaltet die Zuordnungen von virtuellen Seiten zu Maschinenseiten in einer Schattenseitentabelle, die entsprechend den (durch den VMM verwalteten) Zuordnungen von physischen Seiten zu Maschinenseiten auf dem aktuellen Stand gehalten wird.

  • Die Schattenseitentabellen werden direkt durch die Paging-Hardware des Prozessors verwendet.

Nach der Einrichtung der Schattenseitentabellen, ermöglicht es dieser Ansatz der Adressübertragung, dass normale Arbeitsspeicherzugriffe innerhalb der virtuellen Maschine ohne zusätzlichen Adressübertragungs-Overhead erfolgen können. Da der TLB (Translation Look-aside Buffer) auf dem Prozessor direkte Caches der V2M-Zuordnungen (Virtual-To-Machine) erstellt, die er aus den Schattenseitentabellen abliest, wird durch den VMM für den Arbeitsspeicherzugriff kein zusätzlicher Overhead hinzugefügt.

Überlegungen zur Leistung

Die Verwendung von zweiseitigen Tabellen hat folgende Auswirkungen auf die Leistung.

  • Bei normalen Zugriffen auf den Gastarbeitsspeicher tritt kein Overhead auf.

  • Für die Arbeitsspeicherzuordnung innerhalb einer virtuellen Maschine ist zusätzliche Zeit erforderlich, was sich wie folgt auswirken könnte:

    • Das Betriebssystem der virtuellen Maschine richtet Zuordnungen von virtuellen zu physischen Adressen ein oder aktualisiert diese.

    • Das Betriebssystem der virtuellen Maschine wechselt zwischen zwei Adressbereichen (Kontextwechsel).

  • Genau wie bei der CPU-Virtualisierung hängt der Overhead der Arbeitsspeichervirtualisierung von der Arbeitslast ab.