| Slideshow ^ |< << Slide 3 of 11 >> >| |
Virtualisierungsmethoden
Im folgenden werden die am meisten verbreiteten Virtualisierungsmethoden unter Linux aufgezählt.
Hardware emulation
Die komplexteste Methode. Hier wird eine hardware VM am host system erzeugt, die die gesamte Hardware des Zielsystems (guest system) emuliert.
Hardware emulation verwendet eine VM um die notwendige Hardware zu simulieren.- Das Hauptproblem ist die mangelnde Geschwindigkeit.
- Vorteil ist die Hardwareunabhängigkeit - es ist möglich ein Betriebsystem für einen ARM Prozessor auf einer Intel Architektur laufen zu lassen.
Full virtualization
Bei der full virtualization (auch bekannt unter native virtualization) wird eine VM (hypervisor) erzeugt, die zwischen dem Gast Betriebssystem und der Hardware vermittelt.
Bestimmte Instruktionen müssen abgefangen und mithilfe des hypervisors behandelt werden, weil z.B. die angesprochene Hardware vom hypervisor verwaltet wird.
Full virtualization verwendet einen hypervisor um die zugrundeliegende Hardware zur Verfügung zu stellen.- Full virtualization ist schneller als hardware emulation aber langsamer als die echte Hardware wegen der Vermittlung durch den hypervisor.
- Ein Betriebssystem kann ohne Änderungen als Gast ablaufen.
- Das Gast Betriebssytem muss jedoch die Architektur der zugrundeliegende Hardware unterstützen (z.B. Intel x86)
Mit älterer Hardware (Intel x86) hat der hypervisor Probleme, weil wichtige Instruktionen keine Ausnahme (trap) auslösen. Der hypervisor muss daher die Instruktionen dynamisch analysieren und umschreiben (binary translation)
Erst die letzte Generation der Intel und AMD Prozessoren unterstützt eine full virtualization ohne Umschreiben des Codes zu Laufzeit.
Paravirtualization
Es wird wie bei der full virtualization ein hypervisor für den Zugriff auf die zugrundeliegende Hardware verwendet aber es wird virtualization-aware Programmcode in das Betriessystem integriert.
Das Betriebssystem kooperiert also im Virtualisierungsprozess.
Paravirtualization verwendet ein angepasstes Gast Betriebssystem.- Paravirtualization erfordert Änderungen am Betriebssystem - Opensource Betriebsysteme sind daher im Vorteil.
- Geschwindigkeit ist nahe am nicht virtualisiertem System.
- Es können wie bei der full virtualization unterschiedliche (aber angepasste) Gast Betriebssysteme gleichzeitig laufen.
Operating system-level virtualization
Hier werden virtuelle Server nur mithilfe des Betriebssystems erzeugt.
Operating system-level virtualization isoliert die Server- Diese Methode unterstützt nur ein Betriebsystem.
- Die virtuellen Server werden durch das Betriebssystem voneinander isoliert.
- Änderungen am Betriebsystem sind notwendig - die Geschwindigkeit ist fast identisch mit nicht virtualisierten Servern.
Library-level virtualization
Diese Methode emuliert Teile des Gast Betriebssystems mithilfe von Bibliotheken.
- Anwendungen des Gast Betriebsystems können ohne Gast Betriebssystem ablaufen.
- Ein Beispiel ist Wine (Win32 API für Linux), das Windows Anwendungen ohne Windows unter Linux zum Laufen bringt.
Quellen:
| Slideshow ^ |< << Slide 3 of 11 >> >| |
