В чем разница между KVM и Qemu? Как я понимаю, последний может обеспечить «эмуляцию режима пользователя», что означает, что можно запустить один исполняемый файл, созданный для какой-то другой архитектуры, например:
# 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
#
... и "компьютерная эмуляция", что означает, что выполняется не только динамический двоичный перевод, но и вся виртуальная машина (видеокарта, звуковая карта, сетевые карты, оптические устройства и т. д.). Например:
# qemu-system-sparc64 -hda hda.img -cdrom debian-6.0.5-sparc-CD-1.iso -boot d
Как я понял, Qemu не знает, как использовать преимущества аппаратной виртуализации (например, решения Intel VT-x или AMD-V на архитектуре x86), и это тот случай, когда KVM может помочь - можно запустить Qemu с поддержкой KVM. Однако обеспечивает ли KVM какую-либо другую функциональность, кроме доступа программ эмуляции к аппаратной виртуализации на определенных аппаратных архитектурах? Можно ли создать целую виртуальную машину (ЦП, видеокарта, устройства ввода-вывода и т. Д.), Используя только KVM? Если да, то какие программы следует использовать для создания и управления этой виртуальной машиной?