X86-Virtualisierung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 17: | Zeile 17: | ||
[[Datei:th.jpeg|zentriert]] | [[Datei:th.jpeg|zentriert]] | ||
| − | Dieses Bild zeigt die | + | Dieses Bild zeigt die '''Gesamtabfolge der Ausführungsebenen und Übergänge''': |
* Unten befindet sich die CPU mit aktivierter VT-x Unterstützung. | * Unten befindet sich die CPU mit aktivierter VT-x Unterstützung. | ||
| Zeile 28: | Zeile 28: | ||
** '''VM Exit''': Rücksprung von der VM in den Hypervisor, z.B. bei privilegierten Befehlen. | ** '''VM Exit''': Rücksprung von der VM in den Hypervisor, z.B. bei privilegierten Befehlen. | ||
| − | Diese Darstellung zeigt die | + | Diese Darstellung zeigt die '''technische Ablaufarchitektur und den Wechsel zwischen den Modi'''. |
== Schutzringe innerhalb der Modi == | == Schutzringe innerhalb der Modi == | ||
Version vom 3. Mai 2025, 07:46 Uhr
Was ist x86-Virtualisierung?
- Techniken zur parallelen Ausführung mehrerer Betriebssysteme auf x86-Prozessoren.
- Ein Hypervisor ermöglicht die effiziente und isolierte Nutzung physischer Ressourcen.
- Ziel: Gastbetriebssysteme bemerken keinen Unterschied zwischen virtueller und physischer Hardware.
VT-x Ausführungs- und Privilegienmodell
Übersicht
Intel VT-x führt zwei grundlegende Betriebsmodi ein:
- VMX Root Mode: Hier läuft der Hypervisor (auch Virtual Machine Monitor, VMM). Dieser Modus besitzt die höchste Kontrolle über die Hardware.
- VMX Non-Root Mode: Hier laufen die virtuellen Maschinen (VMs) mit ihren Gastbetriebssystemen.
Ziel dieser Trennung ist es, Gastbetriebssysteme nahezu unverändert auszuführen, während der Hypervisor privilegierte Steuer- und Verwaltungsaufgaben übernimmt.
Architektur und Ablauf
Dieses Bild zeigt die Gesamtabfolge der Ausführungsebenen und Übergänge:
- Unten befindet sich die CPU mit aktivierter VT-x Unterstützung.
- Der Hypervisor (VMM) läuft im VMX Root Mode. Er hat vollständigen Zugriff auf alle Ressourcen.
- Virtuelle Maschinen laufen im VMX Non-Root Mode. Jede VM enthält:
- Ein Gastbetriebssystem (beispielsweise Windows oder Linux), das aus seiner Sicht im Ring 0 läuft.
- Anwendungen, die innerhalb der VM im Ring 3 laufen.
- Die Kommunikation zwischen VMs und dem Hypervisor erfolgt über:
- VM Entry: Wechsel von Hypervisor (VMX Root) in die VM (VMX Non-Root).
- VM Exit: Rücksprung von der VM in den Hypervisor, z.B. bei privilegierten Befehlen.
Diese Darstellung zeigt die technische Ablaufarchitektur und den Wechsel zwischen den Modi.
Schutzringe innerhalb der Modi
Dieses Bild zeigt die Privilegienebenen innerhalb der beiden Modi:
VMX Root Mode
- Wird ausschließlich vom Hypervisor genutzt.
- Innerhalb dieses Modus könnte der Hypervisor prinzipiell die Schutzringe 0–3 verwenden, in der Praxis nutzt er jedoch Ring 0 für höchste Rechte.
VMX Non-Root Mode
- Wird von den virtuellen Maschinen genutzt.
- Innerhalb einer VM:
- Das Gastbetriebssystem läuft im Ring 0 der VM.
- Anwendungen laufen im Ring 3 der VM.
- Obwohl das Gastbetriebssystem glaubt, auf echter Hardware mit Ring-0-Rechten zu laufen, wird es durch die Virtualisierung eingeschränkt. Privilegierte Befehle führen zu einem VM Exit.
Diese Darstellung zeigt die Privilegierung innerhalb der jeweiligen Betriebsmodi und macht deutlich, dass der Gastkernel zwar im Ring 0 läuft, aber nicht auf der gleichen Ebene wie der Hypervisor im VMX Root Mode.
Funktionsweise verständlich erklärt
Stelle dir einen Rechner vor, auf dem mehrere Betriebssysteme gleichzeitig laufen:
Hypervisor
- Ist der zentrale „Manager“, kontrolliert alle Ressourcen.
- Verteilt Hardware-Ressourcen an virtuelle Maschinen.
Virtuelle Maschinen
- Laufen isoliert, wie eigenständige physische Rechner.
- Arbeiten schnell und effizient, fühlen sich „echt“ an.
- Können keine kritischen Hardware-Einstellungen direkt verändern, dies kontrolliert der Hypervisor.
Softwarebasierte Virtualisierung (klassische Methode)
- Ohne spezielle Prozessorunterstützung.
- Hypervisor kontrolliert Hardwarezugriff alleine.
- Gastbetriebssysteme besitzen eingeschränkte Rechte und werden „deprivilegiert“ ausgeführt.
- Hoher Aufwand durch häufiges Abfangen und Emulieren privilegierter Operationen.
Modernes Privilegienmodell (VT-x/AMD-V)
Historisches Modell (Protected Mode)
- Vier Schutzringe (Ringe 0 bis 3).
- Betriebssystem läuft auf Ring 0 (höchste Privilegien).
- Anwendungen laufen auf Ring 3 (geringste Privilegien).
- Ring 1 und 2 kaum genutzt.
Aktuelles VT-x/AMD-V-Modell
- Spezielle Prozessorerweiterungen bieten zwei neue Betriebsmodi:
- VMX Root-Modus („Ring -1“): Der Hypervisor besitzt absolute Kontrolle über Hardware.
- VMX Non-Root-Modus („virtueller Ring 0“): Gastbetriebssystem läuft scheinbar auf höchster Ebene, tatsächlich jedoch eingeschränkt.
- Anwendungen innerhalb der VM weiterhin auf Ring 3.
- Weniger Emulation nötig, deutlich höhere Leistung als rein softwarebasierte Methoden.
Hardwareerweiterungen
Intel VT-x
- Codename „Vanderpool“.
- Hardware-unterstütztes „Trap-and-Emulate“-Verfahren.
- Beschleunigung der Virtualisierung durch direkte Prozessorunterstützung.
AMD-V
- Codename „Pacifica“.
- Hardwarebasierte Unterstützung für effiziente Virtualisierung.
- Vergleichbare Funktionsweise zu VT-x.
Praxis-Beispiele
- KVM (Kernel-based Virtual Machine, Linux)
- VMware vSphere (ESXi)
- Microsoft Hyper-V
- Citrix XenServer
