Jaka jest różnica między KVM a Qemu? Jak rozumiem, ten ostatni jest w stanie zapewnić „emulację trybu użytkownika”, co oznacza, że można uruchomić jeden plik wykonywalny zbudowany dla innej architektury, takiej jak ta:
# file busybox-sparc
busybox-sparc: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), statically linked, stripped
# qemu-sparc busybox-sparc ls
Packages_arm Packages_i386 arm busybox-armv6l busybox-i686 busybox-powerpc busybox-sparc busybox-x86_64 i386
#
... i „emulacja komputera”, co oznacza, że wykonywane jest nie tylko dynamiczne tłumaczenie binarne, ale także emulowana jest cała maszyna wirtualna (karta graficzna, karta dźwiękowa, karty sieciowe, urządzenia optyczne itp.). Na przykład:
# qemu-system-sparc64 -hda hda.img -cdrom debian-6.0.5-sparc-CD-1.iso -boot d
Jak zrozumiałem, Qemu nie wie, jak wykorzystać wirtualizację sprzętową (na przykład rozwiązania Intel VT-x lub AMD-V w architekturze x86) i w tym przypadku KVM może pomóc - można uruchomić Qemu ze wsparciem KVM. Czy KVM zapewnia jednak inne funkcje oprócz dostępu programów emulujących do wirtualizacji wspomaganej sprzętowo na określonych architekturach sprzętowych? Czy można utworzyć całą maszynę wirtualną (procesor, kartę graficzną, urządzenia we / wy itp.) Przy użyciu tylko KVM? Jeśli tak, to jakich programów należy użyć do tworzenia i kontrolowania tej maszyny wirtualnej?