X86-Virtualisierung: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
=Was ist x86-Virtualisierung?=
+
= Was ist x86-Virtualisierung? =
*hardware- und softwarebasierte Mechanismen zur Unterstützung der Virtualisierung für Prozessoren, die auf der x86-Architektur basieren.
+
* Techniken zur parallelen Ausführung mehrerer Betriebssysteme auf x86-Prozessoren.
*Unter Verwendung eines Hypervisors kann man mehrere Betriebssysteme parallel auf einem x86-Prozessor auszuführen
+
* Ein Hypervisor ermöglicht die effiziente und isolierte Nutzung physischer Ressourcen.
*Man kann die Ressourcen isoliert und effizient zwischen den parallel ausgeführten Betriebssystemen aufteilen.
+
* Ziel: Gastbetriebssysteme bemerken keinen Unterschied zwischen virtueller und physischer Hardware.
*Die (Gast-)Betriebssysteme sollten keinen Unterschied zwischen virtualisiertem und den Betrieb direkt auf der Hardware erkennen können.
 
=VT Modell=
 
{{#drawio:vt-ring}}
 
== Vorstellung der Hauptkomponenten der modernen Virtualisierungsarchitektur ==
 
  
=== VMX Root Operation (für den Hypervisor) ===
+
= Grundlagen des VT-Modells =
 +
[[Datei:Vt-ring.drawio.png|zentriert]]
  
====Der Hypervisor läuft in diesem Modus====
+
== VMX Root-Modus (Hypervisor) ==
* Der Hypervisor ist eine spezielle Software-Schicht, die direkt auf der Hardware läuft.
+
* Der Hypervisor läuft direkt auf der Hardware.
* In diesem Modus hat der Hypervisor die höchste Kontrollstufe über das System.
+
* Volle Kontrolle über CPU, Speicher und Geräte.
 +
* Privilegierte Operationen werden uneingeschränkt ausgeführt.
  
==== Vollständiger Zugriff auf die Hardware====
+
== VMX Non-Root-Modus (Virtuelle Maschinen) ==
** Der Hypervisor kann alle Hardware-Komponenten direkt ansprechen und kontrollieren, z.B. CPU, Speicher, Netzwerkschnittstellen.
+
* Betriebssysteme laufen isoliert in virtuellen Maschinen.
** Er verwaltet die Zuweisung dieser Ressourcen an die virtuellen Maschinen.
+
* Operationen laufen überwiegend direkt auf der CPU (nahezu native Geschwindigkeit).
 +
* Kritische Operationen werden vom Hypervisor überwacht („Trap-and-Emulate“).
  
====Ausführen privilegierter Befehle====
+
= Funktionsweise verständlich erklärt =
* Privilegierte Befehle sind solche, die spezielle Zugriffsrechte erfordern, wie z.B. Änderungen an den Systemeinstellungen oder direkten Hardwarezugriff.
+
Stelle dir einen Rechner vor, auf dem mehrere Betriebssysteme gleichzeitig laufen:
* Im Root-Modus kann der Hypervisor alle diese Befehle uneingeschränkt ausführen.
 
  
=== VMX Non-Root Operation (für virtuelle Maschinen) ===
+
== Hypervisor ==
 +
* Ist der zentrale „Manager“, kontrolliert alle Ressourcen.
 +
* Verteilt Hardware-Ressourcen an virtuelle Maschinen.
  
==== Virtuelle Maschinen (VMs) laufen in diesem Modus====
+
== Virtuelle Maschinen ==
* Jede VM läuft in einer isolierten Umgebung im Non-Root-Modus.
+
* Laufen isoliert, wie eigenständige physische Rechner.
* VMs sind in der Lage, Betriebssysteme und Anwendungen so auszuführen, als würden sie auf einer eigenen, physischen Hardware laufen.
+
* Arbeiten schnell und effizient, fühlen sich „echt“ an.
 +
* Können keine kritischen Hardware-Einstellungen direkt verändern, dies kontrolliert der Hypervisor.
  
====Nahezu native Geschwindigkeit====
+
= Softwarebasierte Virtualisierung (klassische Methode) =
* Die meisten Operationen, die eine VM durchführt, laufen direkt auf der Hardware ab, was zu einer sehr hohen Ausführungsgeschwindigkeit führt.
+
* Ohne spezielle Prozessorunterstützung.
* Dadurch fühlen sich die Anwendungen in der VM an, als würden sie direkt auf der Hardware laufen.
+
* Hypervisor kontrolliert Hardwarezugriff alleine.
 +
* Gastbetriebssysteme besitzen eingeschränkte Rechte und werden „deprivilegiert“ ausgeführt.
 +
* Hoher Aufwand durch häufiges Abfangen und Emulieren privilegierter Operationen.
  
==== Abfangen und Emulieren privilegierter Befehle====
+
= Modernes Privilegienmodell (VT-x/AMD-V) =
* Wenn eine VM einen privilegierten Befehl ausführt, wird dieser Befehl vom Hypervisor abgefangen (Trap).
+
== Historisches Modell (Protected Mode) ==
* Der Hypervisor überprüft und emuliert dann die Ausführung dieses Befehls, um sicherzustellen, dass er keine negativen Auswirkungen auf andere VMs oder das Host-System hat (Emulate).
+
* 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.
  
== Visualisierung der Funktionsweise ==
+
== 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.
  
Stellen Sie sich einen modernen Computer vor, der mehrere Betriebssysteme gleichzeitig ausführt.
+
= Hardwareerweiterungen =
 +
== Intel VT-x ==
 +
* Codename „Vanderpool“.
 +
* Hardware-unterstütztes „Trap-and-Emulate“-Verfahren.
 +
* Beschleunigung der Virtualisierung durch direkte Prozessorunterstützung.
  
====Hypervisor (im Root-Modus)====
+
== AMD-V ==
* Er ist der „Manager“ des Systems, der darüber entscheidet, wie die Hardware-Ressourcen aufgeteilt werden.
+
* Codename „Pacifica“.
* Er hat die volle Kontrolle und kann alles ändern und verwalten.
+
* Hardwarebasierte Unterstützung für effiziente Virtualisierung.
 +
* Vergleichbare Funktionsweise zu VT-x.
  
====Virtuelle Maschinen (im Non-Root-Modus)====
+
= Praxis-Beispiele =
* Jede VM ist wie ein eigenständiger Computer, der auf der vom Hypervisor zugewiesenen Hardware läuft.
+
* [[KVM]] (Kernel-based Virtual Machine, Linux)
* Wenn die VM normale Aufgaben ausführt (z.B. eine Datei lesen), geschieht dies fast so schnell wie auf einem echten Computer.
+
* VMware vSphere (ESXi)
* Wenn die VM versucht, etwas Kritisches oder Gefährliches zu tun (z.B. den CPU-Zustand ändern), wird dies vom Hypervisor überprüft und sicher ausgeführt.
+
* Microsoft Hyper-V
 +
* Citrix XenServer
  
Diese Trennung stellt sicher, dass die VMs sicher und effizient laufen, ohne sich gegenseitig zu beeinflussen, während der Hypervisor die volle Kontrolle über das Gesamtsystem behält.
+
= Weiterführende Informationen =
 
+
* [https://tuxthink.blogspot.com/2011/12/kvm-introduction.html Einführung in KVM (tuxthink)]
=Softwarebasierte Virtualisierung=
+
* [https://wiki.archlinux.org/title/KVM Arch Linux KVM Wiki]
*Es darf nur dem Hypervisor direkter Zugriff auf die Prozessor-Hardware gewährt werden
 
*Gastsysteme wie alle anderen Applikationen dürfen nur eingeschränkte Zugriffsrechte auf die Hardware haben.
 
*Gastsysteme dürfen keine Speicherbereiche sehen bzw. ändern können, die der Hypervisor zur Verwaltung benötigt.
 
 
 
=Protected Mode=
 
*Es gibt vier verschiedene als Ringe bezeichnete Schutzebenen bzw. Befugnisstufen
 
*Ablaufenden Codesegmenten wird unterschiedliche Rechte gewährt.
 
*Im Protected Mode läuft der Betriebssystem-Kernel in einem höher privilegierten Modus, der als Ring 0 bezeichnet wird
 
*Applikationen in einem weniger privilegierten Modus, in der Regel entweder Ring 1 oder Ring 3.
 
*Hypervisor bzw. das Hostbetriebssystem werden aufgrund ihrer privilegierten Stellung bei der Ressourcenverwaltung mit Ring-0-Berechtigung ausgeführt.
 
*Gastsysteme müssen, um den Schutz der Hypervisor-Ressourcen zu gewährleisten, folglich entweder auf Berechtigungslevel Ring 1 oder Ring 3 ausgeführt werden.
 
=Prozessor Erweiterungen=
 
==Intel-Virtualisierungstechnologie (VT-x)==
 
* Codename „Vanderpool“, bietet Hardwareunterstützung für die Virtualisierung auf Intel-x86-Prozessoren.
 
* Einführung der Modi „VMX Root Operation“ und „VMX non Root Operation“.
 
* Hypervisor läuft im „VMX Root Operation“, VMs im „VMX non Root Operation“.
 
* Implementierung des „trap-and-emulate“-Verfahrens löst das Problem der Deprivilegierung.
 
 
 
==AMD-Virtualisierung (AMD-V)==
 
* Codename „Pacifica“, bietet Hardwareunterstützung für die Virtualisierung auf AMD-Prozessoren.
 
* Unterstützung für Ring Aliasing und Ring Deprivilegierung.
 
 
 
 
 
=Links=
 
*https://tuxthink.blogspot.com/2011/12/kvm-introduction.html
 

Version vom 3. Mai 2025, 07:24 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 direkt auf der Hardware.
  • Volle Kontrolle über CPU, Speicher und Geräte.
  • Privilegierte Operationen werden uneingeschränkt ausgeführt.

VMX Non-Root-Modus (Virtuelle Maschinen)

  • Betriebssysteme laufen isoliert in virtuellen Maschinen.
  • Operationen laufen überwiegend direkt auf der CPU (nahezu native Geschwindigkeit).
  • Kritische Operationen werden vom Hypervisor überwacht („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