X86-Virtualisierung
Version vom 22. März 2022, 17:15 Uhr von Thomas.will (Diskussion | Beiträge) (→Softwarebasierte Virtualisierung)
Was ist x86-Virtualisierung?
- hardware- und softwarebasierte Mechanismen zur Unterstützung der Virtualisierung für Prozessoren, die auf der x86-Architektur basieren.
- Unter Verwendung eines Hypervisors kann man mehrere Betriebssysteme parallel auf einem x86-Prozessor auszuführen
- Man kann die Ressourcen isoliert und effizient zwischen den parallel ausgeführten Betriebssystemen aufteilen.
- Die (Gast-)Betriebssysteme sollten keinen Unterschied zwischen virtualisiertem und den Betrieb direkt auf der Hardware erkennen können.
Ring Model
Softwarebasierte Virtualisierung
- 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.
