<style> /* Logo-Positionierung */ .reveal .slides { background: url(https://hedgedoc.xinux.net/uploads/xinux-weiss.png) no-repeat; background-position: right 10px bottom 10px; background-size: 80px; } /* Listen-Anpassungen */ .reveal ul li { font-size: 28px !important; line-height: 1.3 !important; margin-bottom: 10px !important; } /* Verbesserte Lesbarkeit */ .reveal .slides section { text-align: left; padding: 20px 40px !important; } </style> ## x86 Virtualisierung ### Architektur, Ablauf und Privilegienmodell --- ## Was ist x86-Virtualisierung? - Parallele Ausführung mehrerer Betriebssysteme auf x86-Prozessoren. - Ein Hypervisor ermöglicht effiziente und isolierte Ressourcennutzung. - Ziel: Gastbetriebssysteme bemerken keinen Unterschied zur physischen Hardware. --- ## Historisches Modell (Protected Mode) - 4 Ringe (0–3). - OS in Ring 0, Apps in Ring 3. - Ringe 1 und 2 selten genutzt. --- ## Modernes Privilegienmodell - **VMX Root Mode ("Ring -1")**: Hypervisor mit absoluter Kontrolle. - **VMX Non-Root Mode ("virtueller Ring 0")**: Gastbetriebssystem eingeschränkt. - Anwendungen weiterhin in Ring 3. - Höhere Effizienz durch weniger Emulation. --- ## VT-x Ausführungs- und Privilegienmodell ### Übersicht - Intel VT-x definiert zwei Betriebsmodi: - **VMX Root Mode**: Hypervisor (VMM) mit voller Hardwarekontrolle. - **VMX Non-Root Mode**: Virtuelle Maschinen mit Gastbetriebssystemen. - Gastbetriebssysteme laufen fast unverändert, während der Hypervisor die Kontrolle behält. --- ## Architekturübersicht <img src="https://hedgedoc.xinux.net/uploads/f7be636b-cbfe-4c46-881d-092bd9d1d91f.png" width="600"> --- ## Ablauf zwischen Hypervisor und VMs - Unten: CPU mit VT-x Unterstützung. - Hypervisor läuft im **VMX Root Mode** mit vollständigem Zugriff. - VMs laufen im **VMX Non-Root Mode**: - Gastbetriebssystem in Ring 0 (virtuell). - Anwendungen in Ring 3. - Übergänge: - **VM Entry**: Wechsel von Hypervisor zu VM. - **VM Exit**: Wechsel von VM zurück zum Hypervisor. --- ## Komponenten im VMX Root Mode (Details zur Architektur) ### VMCS (Virtual Machine Control Structure) - Datenstruktur für VM-Status (Gast, Host, Steuerinfos). - Aktiv bei jedem VM Entry und Exit. ### H/W VM Control Structure (VMCS) - Physischer Bereich der CPU für schnelle VMCS-Verwaltung. - Minimiert Umschaltzeiten. ### Memory and I/O Virtualization - Speicherisolation und Adressübersetzung (z.B. EPT). - I/O-Emulation oder -Weiterleitung. - Schutz vor unerlaubtem Zugriff. --- ## Schutzringe innerhalb der Modi ![](https://hedgedoc.xinux.net/uploads/ee02d2a9-b443-4570-8e3f-31c2c0cacb99.png) ### VMX Root Mode - Vom Hypervisor genutzt, praktisch in Ring 0. ### VMX Non-Root Mode - Von VMs genutzt: - Gastbetriebssystem in Ring 0 (virtuell). - Anwendungen in Ring 3. - Kritische Befehle lösen **VM Exit** aus. --- ## Funktionsweise ### Hypervisor - Zentrale Steuerung der Ressourcen. - Weist CPU, Speicher und I/O zu. ### Virtuelle Maschinen - Isoliert wie echte Rechner. - Gastbetriebssysteme und Anwendungen laufen kontrolliert. - Kritische Operationen werden vom Hypervisor geprüft. --- ## Softwarebasierte Virtualisierung (klassische Methode) - Keine Prozessorunterstützung → hoher Overhead. - Gastbetriebssystem deprivilegiert. - Hypervisor fängt privilegierte Befehle ab. --- ## Hardwareerweiterungen ### Intel VT-x - Codename „Vanderpool“. - Trap-and-Emulate Verfahren. - Unterstützung für Root/Non-Root Modes. ### AMD-V - Codename „Pacifica“. - Vergleichbare Technik zu VT-x. --- ## Praxis-Beispiele - KVM (Kernel-based Virtual Machine, Linux) - VMware vSphere (ESXi) - Microsoft Hyper-V - Citrix XenServer --- ## Weiterführende Informationen - [Einführung in KVM (tuxthink)](https://tuxthink.blogspot.com/2011/12/kvm-introduction.html) - [Arch Linux KVM Wiki](https://wiki.archlinux.org/title/KVM)
{"title":"x86 Virtualisierung — Architektur und Privilegienmodell","author":"Thomas Will","date":"2025-04-25T00:00:00.000Z"}