Qemu
Es ist ein generischer Open-Source-Maschinenemulator und Virtualisierer. Bei Verwendung als Maschinenemulator kann QEMU Betriebssysteme und Programme ausführen, die für eine Maschine (z. B. ein ARM-Board) auf einer anderen Maschine (z. B. Ihrem eigenen PC) erstellt wurden. Durch die dynamische Übersetzung erreicht Qemu eine sehr gute Performance.
Einige der wichtigen Funktionen sind unten aufgeführt:
- Qemu ist eine vollständige und eigenständige Software, sie emuliert das Zielbetriebssystem.
- Qemu unterstützt Para-Virtualisierung
- Um mehr als nur den Prozessor zu emulieren, enthält Qemu eine lange Liste von Peripherie-Emulatoren:Festplatte, Netzwerk, VGA, PCI, USB, serielle/parallele Anschlüsse usw.
KVM (virtuelle Kernel-Maschine)
KVM ist ein Linux-Kernel-Modul, das es einem User-Space-Programm ermöglicht, die Hardware-Virtualisierungsfunktionen verschiedener Prozessoren zu nutzen. Einige der wichtigen Funktionen sind unten aufgeführt:
- KVM unterstützt vollständige Virtualisierung
- KVM ist ein Fork der ausführbaren Qemu-Datei. Beide Teams arbeiten aktiv daran, den Unterschied so gering wie möglich zu halten
- Abgesehen von der Umschaltung des Prozessorstatus handhabt das Kernel-Modul auch einige Low-Level-Teile der Emulation, wie die MMU-Register (die zur Handhabung der VM verwendet werden) und einige Teile der emulierten PCI-Hardware.
Qemu-kvm
Das KVM-Projekt pflegt einen Fork von QEMU namens qemu-kvm. es bietet immer noch die beste Leistung und bestimmte zusätzliche Funktionen für die Verwendung von KVM mit QEMU auf x86. Jede andere Architektur wird bereits vollständig von QEMU selbst unterstützt. Das Ziel ist es, alle verbleibenden Funktionsunterschiede in QEMU Upstream zusammenzuführen.