das ELKO - Elektronik - Computertechnik - Kommunikationstechnik - Netzwerktechnik
Schnellsuche:
Newsletter:
anmelden abmelden

Virtualisierung

Virtualisierung ist eine Hardware-Unterstützung, die den Betrieb virtueller Computer auf einem Computer erleichtert oder beschleunigt. Mit der Virtualisierung kann man mehrere Software-Systeme auf einer Hardware laufen lassen. Das können zum Beispiel unterschiedliche Betriebssysteme sein. Virtualisierung macht dann Sinn, wenn ein Hardware-System nicht ausgelastet ist und die Ressourcen parallel für andere Systeme genutzt werden sollen.

Auf den ersten Blick scheint Virtualisierung nur etwas für Server zu sein. Doch auch normale Anwender können davon profitieren. Zum Beispiel zwei Umgebungen für das Arbeiten mit dem Computer. Das eine ganz normal und das andere nur in Verbindung mit dem Internet. Hat sich das Internet-System Würmer oder Viren eingefangen, wird es gelöscht und neu aufgesetzt. So etwas lässt sich zum Beispiel bei jedem Systemstart automatisieren. So hat man immer ein sauberes System. Das könnte auch soweit gehen, dass unsichere Programme in einer eigenen Umgebung laufen, damit das Betriebssystem von außen nicht angreifbar ist.

Hardware-Unterstützung

Bisher war Virtualisierung reine Software-Sache. Doch mit Mehrkernprozessoren und Virtualisierungsunterstützung durch den Prozessor wird Virtualisierung Alltags-tauglich. Da eine steigende Taktfrequenz bei Prozessoren so einfach nicht möglich ist, sind die Prozessorhersteller, insbesondere Intel und AMD, auf alternative leistungssteigernder Techniken für Prozessoren angewiesen. Neben Mehrkern-Prozessoren, Multimedia-Erweiterungen und 64-Bit gelten Virtualisierungs-Funktionen als die bahnbrechende Entwicklung.
64-Bit und Mehrkern-Prozessoren unterstützen die Virtualisierungstechnik. Erst mit einem großen Adressraum und viel Rechenleistung macht Virtualisierung Sinn. Mehrere parallel laufende virtuelle Computer sind darauf angewiesen. Sonst leidet der Bedienkomfort unter der schleichenden Ausführungsgeschwindigkeit der Anwendungen.

Typischerweise versteht man unter Virtualisierung die Prozessor-Virtualisierung. Neben der Prozessor-Virtualisierung gibt es auch noch andere Möglichkeiten. Dazu zählt zum Beispiel das Partitionieren von Festplatten oder die Netzwerk-Virtualisierung durch VLAN.

Intel Vanderpool Technology (VT-x)

Vanderpool Technology ist die Virtualisierungsunterstützung von Intel, die seit November 2005 in den beiden Prozessoren Pentium 4 662 und 672 eingebaut eingebaut wurde. Im Laufe des Jahres 2006 wurden auch die anderen Prozessor-Typen Centrino (Yonah), Pentium D (Presler), Pentium 4 und Celeron (Cedar Mill), die Xeon- und Itanium-Reihe mit VT ausgestattet.

AMD Pacifica (AMD-V)

Pacifica ist die Virtualisierungsunterstützung von AMD, die seit 2006 in den AMD-Prozessoren eingebaut ist. Im Zusammenhang mit Pacifica wird auch immer die Sicherheitsfunktionen Presidio genannt. Beide Techniken hängen eng miteinander zusammen.

Was bringen VT-x (Intel) und AMD-V?

Hinweis: Die folgende Beschreibung ist stark vereinfacht und allgemein gehalten.

Ein Prozessor ist normalerweise darauf ausgelegt nur ein Betriebssystem auszuführen. Wenn ein Computersystem nun neben einem Host- auch ein Gast-Betriebssystem (virtuelle Maschine) beherbergt, dann ist es ohne Änderungen am Original-Code nicht möglich, bei der Befehlsausführung zwischen Host und Gast zu unterscheiden. Wenn bestimmte Instruktionen auf die gleiche Ressource zugreifen, dann kann es zu Abstürzen und Datenverlust kommen. Schon recht einfache Instruktionen, wie das Sichern und Schreiben von Statusregistern im Prozessor, können zu Problemen führen.
Um Probleme auszuschließen muss der Code vor der Ausführung auf problematische Instruktionen durchsucht und diese gegebenenfalls ersetzt werden. Für die Überprüfung ist der Hypervisor bzw. der Virtual Machine Monitor (VMM) zuständig. Weil jede einzelne Instruktion überprüft werden muss, geht dabei die Performance des gesamten Systems etwas in die Knie. Im Prinzip muss der VMM den virtuellen Maschinen vorgaukeln, dass sie den Prozessor für sich alleine haben.

Viel besser ist die Virtualisierungsunterstützung durch den Prozessor. Dadurch wird die Virtualisierung etwas schneller (Geschwindigkeitsvorteil). Das hilft vor allem "einfachen" Virtualisierungslösungen. Viel wichtiger ist, dass unter einem 32-Bit-Betriebssystem auch ein 64-Bit-Gastsysteme ausgeführt werden kann, wenn der Prozessor Virtualisierung unterstützt. Denn mit speziellen Virtualisierungsinstruktionen lassen sich die virtuellen Maschinen in eine Umgebung verschieben, wo das Durchsuchen auf problematische Instruktionen nicht mehr nötig ist.
Wenn die Virtualisierungsunterstützung trotzdem nicht sehr viel zur Geschwindigkeitssteigerung führt, dann liegt das daran, weil die meisten Instruktionen immer noch vom VMM abgefangen werden müssen. Das bedeutet, dass die Virtualisierungsunterstützung des Prozessors nicht besonders umfangreich ist. Der Prozessor kann nicht alle Instruktionen selber abhandeln.
Ob Instruktionen von der VMM oder vom Prozessor behandelt werden, hängt vom Umfang der Virtualisierungsunterstützung des Prozessors ab. Die Behandlung durch den Prozessor ist auf alle Fälle schneller. Aber prinzipiell ist immer ein VMM nötig, der sich um die Organisation und die aufwendigeren Instruktionen kümmert.

Betriebssystem-Virtualisierung

Betriebssystem-Virtualisierung
Bei der Betriebssystem-Virtualisierung läuft nur ein Betriebssystem. Darauf werden mehrere virtuelle Betriebssystemumgebungen erzeugt (Jails), die für die laufenden Programme als normale Betriebssysteme wirken. Die Applikationen sehen nur die Applikationen, mit denen sie ihre virtuelle Umgebung teilen. Nach außen treten die virtuellen Umgebungen wie eigenständige Systeme auf.
Beispiele sind FreeBSD Jails, Solaris Zone/Container, Linux VServer, Open VZ und Virtuozzo.

System-Virtualisierung

System-VirtualisierungSystem-Virtualisierung
Bei der System-Virtualisierung wird ein oder mehrere vollständige Systeme nachgebildet, auf dem beliebige Betriebssysteme ausführbar sind. Die Systeme orientieren sich an echter Hardware. So kann man verschiedene virtuelle Systeme nachbilden und mit unterschiedlicher Hardware ausstatten.
In der einen Variante läuft die Virtualisierung auf dem bestehenden Betriebssystem, wobei darauf wiederum ein anderes Betriebssystem installiert ist. Parallel dazu kann das Wirtssystem normal genutzt werden.
In der anderen Variante läuft die Virtualisierung direkt auf der Hardware und darauf mehrere Betriebssysteme mit ihren Applikationen.
Beispiele sind VMWare, Virtual PC, Virtual Server und Parallels.

Hypervisor

Der Hypervisor ist ein Betriebssystem für ein Betriebssystem. Er bildet eine Virtualisierungsschicht, die es ermöglicht, mehrere Betriebssysteme gleichzeitig auf einem Computersystem zu betreiben. So gesehen handelt es sich dabei um eine Art der System-Virtualisierung. Der Hypervisor wird auch als Virtual Machine Monitor (VMM) bezeichnet.
Der Hypervisor vermittelt den Betriebssystemen den Eindruck sie würden alleine auf dem System laufen und hätten die Hardware für sich alleine. Der Hypervisor stellt gleichzeitig sicher, dass ein Betriebssystem nicht die Daten eines andere Betriebssystems zerstört oder auch nur darauf Zugriff hat. Er verhindert, dass die Betriebssysteme miteinander in Konflikt geraten. Die Sicherheitsanforderungen an den Hypervisor sind entsprechend hoch.
Auf Servern ist es inzwischen unüblich einem Betriebssystem die Kontrolle über die Hardware zu überlassen. Ein Hypervisor übernimmt die ursprüngliche Aufgabe des Betriebssystems. Auf so einem System können verschiedenen Betriebssysteme nebeneinander existieren.

Es gibt bereits verschiedene Betriebssysteme, die ein Hypervisor sind. Die Anbieter versuchen jeweils ihr System als Standard-Hypervisor durchzusetzen:

  • Xen (Open-Software)
  • Viridian (Microsoft)
  • VMware
  • Hyper-V

Während auf einem Server, mit seinen Standard-Schnittstellen, ein Hypervisor leicht umzusetzen ist, gelingt das auf einem Desktop-Computer nur mit viel Mühe. Dort übernehmen Gerätetreiber oftmals die Arbeit der angeschlossenen Geräte. Das bedeutet, der Prozessor ist für die Erledigung der Aufgaben mit einbezogen. Der Hypervisor selber stellt eine Abstraktionsschicht zur Verfügung, die den Zugriff der Treiber auf die Hardware verhindert. Damit ist sichergestellt, dass sich die verschiedenen Betriebssysteme nicht gegenseitig in die Quere kommen.
Damit der Hypervisor funktioniert, braucht er Hardware-Unterstützung. Also, bestimmte Funktionen im Prozessor und im Chipsatz. Befehlserweiterungen in Prozessoren gibt es von AMD mit AMD-V und Intel mit VT-x.

Anwendungen

Virtuelle Computer sind eher selten im Einsatz. Es werden aber schon konkrete Anwendungen diskutiert. Einiges davon ist jetzt schon möglich. Mit einem neuen Software-Zweig ist zu rechnen.

  • Software-Entwickler nutzen virtuelle Computer, um ihre Produkte unter verschiedenen Betriebssystemen zu testen.
  • Auf Arbeitsplatz-Rechnern könnte man verschiedene Arbeitsumgebungen schaffen. Eine normale Arbeitsoberfläche, eine Oberfläche für den Internet-Zugang und eine für spezielle Hardware-Ressourcen. So lassen sich die verschiedenen Oberflächen gegen Hardware- und Software-Fehler, Viren und Würmern schützen.
  • Bestimmte Anwendungen für ältere Betriebssysteme können in einem virtuellen Computer ausgeführt werden. Parallel dazu kann ein aktuelles Betriebssystem mit vollem Leistungsumfang arbeiten.
  • Wenn zwei Applikationen sich nicht vertragen, kann man sie unter eigenen virtuellen Umgebungen installieren und ausführen.

Virtualisierung in der Server-Umgebung

  • bessere Systemauslastung erreichbar
  • leichter managebar
  • Energiekosten senken -> Umweltrichtlinien einhalten
  • höhere Sicherheit und Stabilität
  • schneller Anforderungen umsetzen

Virtualisierung in der Desktop-Umgebung

  • höhere Sicherheit und Stabilität
  • Abwärtskompatibilität

Weitere verwandte Themen:

Bookmark

 Mr. Wong  Webnews  Linkarena  Favoriten  Yigg  Del.icio.us  Facebook  Google Information

Findest Du Elektronik-Kompendium.de gut? Hat Dir diese Webseite auch schon weitergeholfen?
Willst Du uns dabei unterstützen noch bekannter und besser zu werden?
Erfahre mehr über die Möglichkeiten. Jeder kann etwas tun!