Softwarevirtualisierung
Die Softwarevirtualisierung kann für mehrere Zwecke eingesetzt werden. z. B. zum Simulieren eines Betriebssystems oder nur einer Anwendung.
Â

Erzeugung virtueller Betriebsumgebungen
Einordnung von Virtualisierungsansätzen zur Schaffung virtueller Betriebsumgebungen im Gesamtkontext der Virtualisierung. Kategorisierung von Virtualisierungstechniken zur Schaffung virtueller Betriebsumgebungen.
1. Betriebssystemvirtualisierung mittels OS-Container
Ansatz von 'OS-Containern' zur Schaffung virtueller Betriebsumgebungen.Bei Virtualisierung auf Betriebssystemebene wird anderen Computerprogrammen eine komplette Laufzeitumgebung virtuell innerhalb eines geschlossenen Containers oder „jails“ zur Verfügung gestellt, es wird kein zusätzliches Betriebssystem gestartet. Die OS-Container stellen eine Teilmenge des Wirtbetriebssystems dar. Vorteil dieses Konzepts liegt in der guten Integration der Container in das Gastbetriebssystem. Der Nachteil dieses Konzepts liegt in den Containern. Aus den Containern heraus können keine Treiber geladen bzw. andere Kernel geladen werden. Bei der OS-Virtualisierung läuft immer nur ein Kernel.
Beispiele: OpenSolaris, Zoning, BSD jails, Mac-on-Linux, OpenVZ, Virtuozzo, Linux-VServer, User Mode Linux.

2. Systemvirtualisierung mittels Virtual Machine Monitor (VMM)
Ansatz eines Virtual Machine Monitor (VMM) zur Schaffung virtueller Betriebsumgebungen.Bei Virtualisierung mittels eines Virtual Machine Monitors („virtuelle Maschine“) werden die bereitstehenden nativen (= real physisch verfügbaren) Ressourcen intelligent verteilt. Dies kann durch Hardware-Emulation, Hardware-Virtualisierung oder Virtualisierung mittels Hypervisors stattfinden. Den einzelnen Gast-Systemen wird dabei jeweils ein eigener kompletter Rechner mit allen Hardware-Elementen (Prozessor, Laufwerke, Arbeitsspeicher, usw.) vorgespiegelt.
Der Vorteil ist, dass an den Betriebssystemen selbst (fast) keine Änderungen erforderlich sind und die Gast-Systeme alle ihren eigenen Kernel laufen haben, was eine gewisse Flexibilität im Gegensatz zur Betriebssystemvirtualisierung mit sich bringt.
Wenn weder diese Hardware-Elemente noch die Betriebssysteme der Gastsysteme diese Form der Virtualisierung unterstützen, muss die Virtualisierungssoftware eine Emulationsschicht benutzen, um jedem Gast-System vorzuspiegeln, es hätte die Hardware für sich allein. Diese Emulation ist oft weniger effizient als direkter Zugriff auf die Hardware, was dann zu einer verringerten Geschwindigkeit führen kann.
Beispiele: VMware Workstation, Microsoft Virtual PC, VirtualBox, Parallels Workstation.

Â


3. Hardware-Emulation (irreführend auch Full Virtualisation genannt)
Die virtuelle Maschine simuliert die komplette Hardware und ermöglicht einem nichtmodifizierten Betriebssystem, das für eine andere CPU ausgelegt ist, den Betrieb.
Beispiele: Bochs (hier anstatt Emulation Simulation), PPC-Version von Microsoft Virtual PC.
4. Hardware-Virtualisierung (Native Virtualisation, Full Virtualisation)
Die virtuelle Maschine stellt dem Gastbetriebssystem nur Teilbereiche der physischen Hardware in Form von virtueller Hardware zur Verfügung. Diese reicht jedoch aus, um ein unverändertes Betriebssystem darauf in einer isolierten Umgebung laufen zu lassen. Das Gast-System muss hierbei für den gleichen CPU-Typ ausgelegt sein.
Beispiele: VMware, x86-Version von Microsoft Virtual PC, Xen 3.0 auf Prozessoren mit Hardware-Virtualisierungstechnologien: Intel VT-x oder AMD Pacifica.

5. Paravirtualisierung
Bei Paravirtualisierung wird zwar ein zusätzliches Betriebssystem virtuell neu gestartet, jedoch wird keine Hardware virtualisiert oder emuliert, sondern die virtuell gestarteten Betriebssysteme verwenden eine abstrakte Verwaltungsschicht, um auf gemeinsame Ressourcen (Netzanbindung, Festplattenspeicher, Benutzerein/-ausgaben) zuzugreifen. In der Informatik ist Paravirtualisierung eine Technologie zur Virtualisierung, die eine Softwareschnittstelle bereitstellt, die ähnlich, aber nicht identisch zur tatsächlichen Hardware ist. Das Betriebssystem muss portiert werden um auf der virtuellen Maschine (VM) ausgeführt werden zu können, was die Rechteinhaber proprietärer Betriebssysteme aus strategischen Gründen ablehnen können. Die Portierung vereinfacht jedoch den Aufbau der VM und ermöglicht den darauf ausgeführten virtuellen Maschinen eine höhere Leistung. VMware oder auch XEN verwendet die VMI-Schnittstelle, die als „Sprachrohr“ zwischen der Virtualisierungsschicht und Gastbetriebssystem fungiert.
Beispiele: Red Hat Fedora Core 5 mit Xen 3.0, SUSE Linux Enterprise Server mit Xen oder auch VMware ESX 3.5 ab Update 1.

Anwendungsvirtualisierung (application virtualization) ist das lokale Ausführen von Desktop- oder Server-Anwendungen, ohne dass diese installiert werden müssen (vergleiche dazu Softwareinstallation und Terminal Services). Der virtualisierten Anwendung wird dazu eine virtuelle Umgebung generiert, die alle Registry-Einträge, Dateien und andere Komponenten enthält, die das Programm zur Ausführung benötigt. Diese virtuelle Umgebung wirkt dabei wie eine Puffer-Lage zwischen der Anwendung und dem Betriebssystem und verhindert Konflikte mit anderen Applikationen oder dem Betriebssystem.
Beispiele: Xenocode Virtual Application Studio, Microsoft APP-V (früher SoftGrid), Citrix Application Streaming, Java VM, Altiris SVS, VMware ThinApp (früher Thinstall Virtualization Suite), Sandboxie.

|