- Secure Virtual Machine
-
Eine Secure Virtual Machine oder kurz SVM ist eine besondere virtuelle Maschine, die eine verbesserte Virtualisierung über Befehlssatzerweiterungen ermöglicht.
AMD und Intel haben mit AMD-V bzw. Intel VT unabhängig voneinander entsprechende Befehlssatzerweiterungen für die x86-Architektur entwickelt. Beide Erweiterungen sind nicht miteinander kompatibel, funktionieren jedoch nach dem gleichen Grundprinzip.
Der Hauptvorteil gegenüber Software-Lösungen ist die höhere Geschwindigkeit, die eine Hardware-Lösung bieten kann, da die Virtualisierung direkt in den I/O-Brücken der Computer eingebaut ist.
Inhaltsverzeichnis
Vorteile von hardwarebasierter Virtualisierung
Beim Einsatz von Virtualisierungssoftware wie VMware ist eines der Hauptprobleme die Ausführungsgeschwindigkeit. Eine reine Emulation der Rechnerhardware ist aufwendig und ineffizient. So werden für den reinen Software-Emulator Bochs Werte für ein Beispielsystem angegeben, die eine Emulationsgeschwindigkeit von unter 5% nahelegen[1].
Moderne Virtualisierungssoftware wie VMware oder VirtualBox verbessern die Ausführungsgeschwindigkeit, indem möglichst große Teile des Binärcodes des Gast-Systems direkt ("nativ") vom Prozessor des Host-Systems ausgeführt werden. Natürlich gibt es auch Code-Teile, wo dies prinzipiell nicht möglich ist: so müssen normalerweise Hardware-Elemente wie Grafik- und Netzwerkkarte in jedem Fall auf dem Zielsystem emuliert werden. Effektiv erreichen Systeme wie VirtualBox und VMware Ausführungsgeschwindigkeiten im Bereich zwischen 50% und 80% der Geschwindigkeit des Host-Systems[2]. Um noch höhere Werte zu erreichen, kann mithilfe spezieller Schnittstellen im Betriebssystem-Kern der Emulationsaufwand verringert werden. Dieser auch als "Paravirtualisierung" bezeichnete Ansatz wird z.B. von Xen verfolgt, ist allerdings nur mit Gast-Systemen möglich, bei denen eine Anpassung an die Virtualisierungsschnittstelle möglich ist. Dies ist bei Open Source-Betriebssystemen wie Linux oder NetBSD der Fall, bei proprietären Betriebssystemen wie Microsoft Windows allerdings nur für einzelne Geräte mittels spezieller Treiber.
Unterstützt ein Prozessor Technologien wie Intel VT oder AMD-V, kann auch ein nichtquelloffenes Betriebssystem in hoher Geschwingkeit virtualisiert ausgeführt werden, da hier mehr kritische Code-Teile direkt vom Prozessor ausgeführt werden können. Neben einer potentiell höheren Geschwindigkeit ermöglicht die Hardware-Virtualisierung eine noch bessere Trennung des Gast- vom Host-System und reduziert den Virtualisierungs-Aufwand. Ein Beispiel für eine Lösung, die Hardware-Virtualisierung voll ausnutzt, stellt das KVM-System unter Linux dar.
Anwendungsmöglichkeiten
Vor allem Intel stellt sich vor, dass mit einer SVM Home Entertainment Server ermöglicht werden, die den gesamten Haushalt zentral mit Daten wie Musik, Video und Internet versorgen.
Im Hochleistungsserverbereich kann diese Technik dazu verwendet werden, Ressourcen effizienter zu nutzen, wenn Anwendungen unter verschiedenen Betriebssystemen oder mit unterschiedlichen Versionen oder Einstellungen desselben Betriebssystems laufen, die einen (schnellen) Rechner nicht voll auslasten. Die gegenseitige Isolation der verschiedenen Betriebssysteme ist dabei garantiert.
Weitere Anwendung könnte die Lösung auch im Privatbereich bei sicherheitsbewussten Kunden finden. Da zwei Betriebssysteme gleichzeitig und dabei unabhängig voneinander laufen können, ist es möglich, z.B. Linux für die gewöhnliche Büroarbeit und den Dauereinsatz und außerdem Windows zum Spielen zu benutzen.
Auch können so Softwareentwickler zwischen zwei Betriebssystemen auswählen, um so die Kompatibilität auf verschiedenen Plattformen zu überprüfen. So kann ohne Neustart ein Wechsel der Betriebssysteme vorgenommen werden.
Allerdings benötigt die neue Technik zur Anwendung natürlich Unterstützung durch Virtualisierungssoftware, die beispielsweise durch angepasste Produkte wie Xen, VMware oder Microsoft Virtual PC erfolgen kann. Diese Produkte stellen bisher bereits vergleichbare Lösungen auf reiner Softwarebasis bereit, was jedoch an die Geschwindigkeit einer Hardwarelösung nicht herankommt. Xen und Parallels Workstation machen sich diese Hardwarefunktionen bereits zu nutze und ermöglichen so ein paralleles Ausführen von mehreren Betriebssystemen mit deutlich besserer Leistung, als herkömmliche Programme.
Siehe auch
Quellen
- ↑ Eintrag zur Frage der Geschwindigkeit von Bochs in der Bochs-FAQ.
- ↑ Testbericht auf heise.de zu VirtualBox.
Wikimedia Foundation.