Virtualisierung in der Computertechnik
Der Begriff Virtualisierung ist mehrdeutig und wird meistens mit Computertechnik in Zusammenhang gebracht. Typischerweise versteht man unter Virtualisierung den Parallelbetrieb von Betriebssystemen auf einer Hardware. Die eingesetzten Betriebssysteme werden dabei in emulierter Hardware betrieben. Oft geht es darum, Software in einer virtualisierten Umgebung in Rechenzentren, für Cloud-Computing und Softwareentwicklung zu betreiben. Die Anwendungsfälle sind dabei vielfältig, wobei es in der Regel darum geht, Hardware- und Software-Ressourcen effizienter zu nutzen, Kosten zu reduzieren, Flexibilität im Betrieb zu erhöhen und die Sicherheit zu verbessern.
Virtualisierung mit Hardware-Unterstützung
Ursprünglich war Virtualisierung reine Software-Sache. Doch für manche Funktionen braucht die Virtualisierungssoftware Hardware-Unterstützung. 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. 64-Bit- und Mehrkern-Prozessoren sind ein Muss.
Welche Virtualisierungsmethoden gibt es?
Es gibt verschiedene Virtualisierungsmethoden, wie Virtualisierung in einem Computer bzw. in einem Betriebssystem umgesetzt wird. Je nach Anwendungsfall und den vorhandenen Ressourcen empfehlen sich andere Lösungen.
Hier sind einige der wichtigsten Virtualisierungsmethoden:
- System-Virtualisierung mit Typ-1-Hypervisor (Bare-Metal)
- System-Virtualisierung mit Typ-2-Hypervisor (Host-basiert)
- Prozessvirtualisierung oder Container-Virtualisierung
- Paravirtualisierung
Hardware-Virtualisierung bzw. System-Virtualisierung mit Hypervisor (Virtual Machine Monitor, VMM)
Bei der System-Virtualisierung wird die Hardware, auf dem das Host-Betriebssystem läuft, für ein oder mehrere Gast-Betriebsysteme abstrahiert und virtuelle Maschinen erzeugt, in denen ein beliebiges Gast-Betriebssystem ausführbar ist. Die virtuellen Maschinen orientieren sich dabei an echter Hardware, die für das Gast-Betriebssystem nur emuliert wird.
Die Software-Lösung, mit der die virtuellen Maschinen erzeugt, gesteuert und verwaltet werden, wird als Hypervisor oder auch als Virtual Machine Monitor (VMM) bezeichnet. In der Regel stellt ein Hypervisor eine Abstraktionsschicht zur Verfügung, die den direkten Zugriff der Gast-Betriebssysteme auf die Hardware verhindert. Damit ist sichergestellt, dass sich die Gast-Betriebssysteme nicht gegenseitig in die Quere kommen.
Man unterscheidet zwischen zwei Arten: Typ-1-Hypervisor und Typ-2-Hypervisor.
Typ-1-Hypervisor (Bare-Metal)
Ein Typ-1-Hypervisor läuft als Host-Betriebssystem direkt auf der Hardware, weshalb man auch von einem Bare-Metal-Hypervisor spricht. Ein Gesamtsystem mit Typ-1-Hypervisor verbraucht in der Regel wenige Ressourcen. Aber der Hypervisor muss alle Gerätetreiber für die gesamte Hardware mitbringen, weil die sich nicht nachträglich installieren lässt.
Der Typ-1-Hypervisor bildet eine Virtualisierungsschicht und ermöglicht es, dass mehrere Gast-Betriebssysteme parallel auf einem Computersystem laufen können. Der Hypervisor stellt gleichzeitig sicher, dass die Gast-Betriebssysteme beim Zugriff auf die Hardware nicht miteinander in Konflikt geraten.
Die bekanntesten und am weitesten verbreiteten Typ-1-Hypervisoren:
- VMware ESXi
- Microsoft Hyper-V
- Citrix Hypervisor (ehemals XenServer)
- Oracle VM Server for x86
- KVM (Kernel-based Virtual Machine)
Typ-2-Hypervisor (Host-basiert)
Ein Typ-2-Hypervisor ist eine Software, die auf einem Host-Betriebssystem als normale Anwendung installiert und ausgeführt wird. Mit dem Typ-2-Hypervisor kann man in dem Host-Betriebssystem virtuelle Maschinen erzeugen, um darin beliebige Gast-Betriebssysteme zu installieren und zu betreiben. Dabei kann der Typ-2-Hypervisor alle Ressourcen nutzen, die ihm das Host-Betriebssystem zur Verfügung stellt.
Ein Typ-2-Hypervisor ist dann nützlich, wenn man Software in einem Betriebssystem nutzen will, die damit nicht kompatibel ist. Beispielsweise eine Windows-Anwendungen in einem macOS-Betriebssystem. Mit einem Typ-2-Hypervisor erzeugt mann dann eine virtuelle Maschine mit dem jeweiligen Gast-Betriebssystem und installiert dort die gewünschte Anwendung. Je nach Typ-2-Hypervisor ist es möglich, die fremde Anwendung nahtlos in das Host-Betriebssystem zu integrieren, ohne dass das Gast-Betriebssystem dabei bedient werden muss.
Einige Beispiele für Typ-2-Hypervisoren:
- Oracle VirtualBox
- VMware Workstation
- Parallels Desktop for Mac
- QEMU
- Microsoft Virtual PC
Prozessvirtualisierung oder Container-Virtualisierung
Die Prozessvirtualisierung wird auch Container-Virtualisierung genannt. Man spricht auch von Betriebssystem-Virtualisierung bzw. Containerisierung.
Die Prozessvirtualisierung erfolgt innerhalb eines Betriebssystem. In dem Betriebssystem werden mehrere virtuelle Laufzeitumgebungen erzeugt. Die bezeichnet man als Container oder Jail. Das sind Abbilder des Betriebssystems, die aber nur begrenzt modifiziert werden können. Beispielsweise können Programme in den Laufzeitumgebungen installiert werden. Aber die Hardware kann man nicht verändern. Auch nicht emulieren. Das bedeutet auch, dass ein Container für Linux nicht auf Windows und umgekehrt laufen kann.
Während man eine virtuelle Maschine, wie echte Hardware behandeln muss, zum Beispiel booten oder aktualisieren, geht es bei Containern nur darum, Anwendungen getrennt voneinander zu betreiben. Das heißt, sie sehen nur ihre Kopie des laufenden Betriebssystems.
Beispiele für Container-Lösungen sind Docker, Kubernetes, FreeBSD Jails, Solaris Zones, Linux VServer, OpenVZ und LXC (Linux Containers).
Bei der Prozessvirtualisierung entspricht die Software-Lösung einem Typ-2-Hypervisor.
Paravirtualisierung
Die Paravirtualisierung wird oft in Umgebungen eingesetzt, in denen mehrere Gast-Betriebssysteme auf einem Host ausgeführt werden müssen, wie z.B. in Cloud-Umgebungen oder in Server-Farmen. Paravirtualisierung bietet im Vergleich zu anderen Virtualisierungsmethoden eine höhere Leistung und Effizienz, weil das Gast-Betriebssystem Hardware-Zugriffe selber verwalten darf und nicht immer mit dem Hypervisor kommunizieren muss. Dazu muss das Gast-Betriebssystem modifiziert werden, was nicht mit jedem Betriebssystem möglich ist.
Beispiele für paravirtualisierte Systeme sind Xen und Linux KVM.
Bei der Paravirtualisierung entspricht die Software-Lösung einem Typ-1-Hypervisor.
Weitere verwandte Themen:
Lernen mit Elektronik-Kompendium.de
Noch Fragen?
Bewertung und individuelles Feedback erhalten
Aussprache von englischen Fachbegriffen
Computertechnik-Fibel
Alles was du über Computertechnik wissen musst.
Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.
Computertechnik-Fibel
Alles was du über Computertechnik wissen musst.
Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.
Artikel-Sammlungen zum Thema Computertechnik
Alles was du über Computertechnik wissen solltest.