Чим відрізняється 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? Якщо так, то які програми слід використовувати для створення та управління цією віртуальною машиною?