Virtualisierungskonzepte
von Julian Paulus
1. Vollvirtualisierung
1.1. Mit Hardwareunterstützung
1.1.1. Erweiterte Befehlssätze
1.1.1.1. AMD: Pacifica
1.1.1.2. Intel
1.1.1.2.1. VT-x (Prozessoren)
1.1.1.2.2. VT-d (Geräte)
1.1.2. Kritische Hardwarebefehle abfangen
1.1.3. Beschleunigt Umschalten zwischen VMs
1.1.4. Hardwareabhängig; nicht "Cross-Compatible"
1.2. Bare Metal
1.3. Hypervisor direkt auf Hardware
1.4. Volle Hardwarekontrolle durch Hypervisor
1.5. Gute Performance
1.6. Nicht alle CPU-Instruktionen möglich
2. Paravirtualisierung
2.1. para = nebenbei
2.2. Hypervisor existiert neben Hardware
2.3. Modifizierung des Betriesbsystem
2.3.1. Usermode schickt Befehle an Hypervisor
2.3.2. Kernelmode schickt Befehle an Hardware
2.3.3. Betriebssystem muss open-source sein
3. Virtuelle Netzwerke
3.1. VMs
3.1.1. Emulierte Netzwerkkarten
3.1.2. Können untereinander kommunizieren
3.2. Host
3.2.1. Virtuelle Switches
3.2.2. Verbindet VMs mit physischen Netzwerk(en)
4. Virtual Machine Monitor (VMM / Hypervisor)
4.1. VMs richtig starten/stoppen
4.2. Verwaltet Hardware
4.3. Typ 1
4.3.1. Läuft direkt auf Hardware
4.3.1.1. Meta-Betriebssystem
4.3.2. Braucht Treiber
4.3.3. = Bare Metal
4.4. Typ 2
4.4.1. Vorhandenes Betriebssystem kontrolliert Zugriff auf Hardware
4.4.2. = Hosted