X86-Virtualisierung: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 8: Zeile 8:
  
 
== VMX Root-Modus (Hypervisor) ==
 
== VMX Root-Modus (Hypervisor) ==
* Der Hypervisor läuft direkt auf der Hardware.
+
* Der Hypervisor läuft im VMX Root-Modus (auch „Ring -1“ genannt).
* Volle Kontrolle über CPU, Speicher und Geräte.
+
* Er hat die höchste Kontrollstufe und überwacht alle virtuellen Maschinen.
* Privilegierte Operationen werden uneingeschränkt ausgeführt.
+
* Er besitzt exklusiven Zugriff auf CPU, Speicher und Geräte und teilt diese den virtuellen Maschinen zu.
 +
* Privilegierte Operationen der Gastbetriebssysteme werden hierher weitergeleitet und ggf. emuliert.
  
 
== VMX Non-Root-Modus (Virtuelle Maschinen) ==
 
== VMX Non-Root-Modus (Virtuelle Maschinen) ==
* Betriebssysteme laufen isoliert in virtuellen Maschinen.
+
* Gastbetriebssysteme laufen isoliert in virtuellen Maschinen im VMX Non-Root-Modus.
* Operationen laufen überwiegend direkt auf der CPU (nahezu native Geschwindigkeit).
+
* Sie verhalten sich, als würden sie direkt auf der Hardware laufen (nahezu native Geschwindigkeit).
* Kritische Operationen werden vom Hypervisor überwacht („Trap-and-Emulate“).
+
* Kritische Operationen (z.B. Zugriff auf Hardware) werden vom Hypervisor abgefangen und geprüft („Trap-and-Emulate“).
  
 
= Funktionsweise verständlich erklärt =
 
= Funktionsweise verständlich erklärt =

Version vom 3. Mai 2025, 07:32 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.

Grundlagen des VT-Modells

Vt-ring.drawio.png

VMX Root-Modus (Hypervisor)

  • Der Hypervisor läuft im VMX Root-Modus (auch „Ring -1“ genannt).
  • Er hat die höchste Kontrollstufe und überwacht alle virtuellen Maschinen.
  • Er besitzt exklusiven Zugriff auf CPU, Speicher und Geräte und teilt diese den virtuellen Maschinen zu.
  • Privilegierte Operationen der Gastbetriebssysteme werden hierher weitergeleitet und ggf. emuliert.

VMX Non-Root-Modus (Virtuelle Maschinen)

  • Gastbetriebssysteme laufen isoliert in virtuellen Maschinen im VMX Non-Root-Modus.
  • Sie verhalten sich, als würden sie direkt auf der Hardware laufen (nahezu native Geschwindigkeit).
  • Kritische Operationen (z.B. Zugriff auf Hardware) werden vom Hypervisor abgefangen und geprüft („Trap-and-Emulate“).

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

Weiterführende Informationen