Secure Virtual Machine

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung.

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.

IBM verwendet diese Technologie der Serverpartitionierung bei seinen Power-Prozessoren unter AIX (z. B. System p) sowie bei seinen IBM-Großrechnern System z. IBM nennt diese Technologie LPAR.

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.

Vorteile von hardwarebasierter Virtualisierung[Bearbeiten]

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, bei denen 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 erzielen, kann mithilfe geeigneter Modifikationen des Betriebssystem-Kerns 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 Geschwindigkeit 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 Gastes 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[Bearbeiten]

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 Windows 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. IBMs Processor Resource/System Manager (PR/SM), Xen und Parallels Workstation machen sich diese Hardwarefunktionen der jeweils verwendeten CPUs bereits zu nutze und ermöglichen so ein paralleles Ausführen von mehreren Betriebssystemen mit deutlich besserer Leistung, als herkömmliche Programme.

Quellen[Bearbeiten]

  1. Eintrag zur Frage der Geschwindigkeit von Bochs in der Bochs-FAQ.
  2. Testbericht auf heise.de zu VirtualBox.