Wie AMD und Intel CPUs virtualisieren

08.09.2005
Von 
Kriemhilde Klippstätter ist freie Autorin und Coach (SE) in München.

Damit das Einspielen einer neuen Betriebssystem-Kopie schnell funktioniert, stellt Vanderpool einen Memory-Block mit 4 KB bereit, der auf das Betriebssystem verweist. Das neue Laden erfolgt so recht einfach und zügig.

Die zweite Schwierigkeit, die Vanderpool lösen muss, liegt in der Bereitstellung der Ressourcen für mehrere Betriebssysteme auf Schicht 0. Anders ausgedrückt müssen sich mehrere Betriebssysteme diese Ebene teilen, ohne dass sie sich gegenseitig beeinflussen oder gar korrumpieren. Intel hat dazu ein Kontrollsystem aus Bitmaps angelegt. Die Bitmaps bestehen aus 32-Bit-Feldern, wobei jedes Bit einen bestimmten Vorfall kennzeichnet.

Tritt ein Event ein und das entsprechende Bit ist gesetzt, dann veranlasst die CPU einen Ausstieg aus dem VMX-Modus. Der Virtual Machine Monitor übernimmt die Kontrolle und läuft dabei im Root-Modus. Die Kontrollinstanz stößt die erforderlichen Prozesse an und erteilt einem anderen oder dem gleichen Betriebssystem die Erlaubnis, weiterzuarbeiten. Das funktioniert so lange, bis ein neuerlicher Ausnahmefall wieder den Ausstieg aus dem VMX-Modus erzwingt.

Weniger Verwaltungsaufwand

Insider loben Vanderpool dafür, dass es den Overhead bei der Virtualisierung stark reduziert und mehr Stabilität verspricht als frühere VM-Modelle. Da Vanderpool zudem mit Intels "LaGrande"-Sicherheitstechnik zusammenarbeitet, soll sich beispielsweise die Verschlüsselung ohne großen Overhead kostengünstig realisieren lassen.

AMD nennt seine Technik zur Prozessorvirtualisierung Pacifica und will die ersten damit bestückten Chips der Familien "Athlon 64" und "Opteron" Anfang 2006 auf den Markt bringen. Pacifica arbeitet im Prinzip wie Intels Vanderpool, ist aber nicht binär kompatibel dazu. Pacifica fügt der Prozessorvirtualisierung zwei wesentliche Komponenten hinzu, die beide eng mit AMDs 64-Bit-Architektur (AMD64) verknüpft sind: einen neuen Memory-Modus und den "Device Exclusion Vector" (DEV).