¿Cuál es la diferencia entre KVM y Qemu? Según tengo entendido, este último es capaz de proporcionar "emulación de modo de usuario", lo que significa que uno puede ejecutar un solo ejecutable creado para alguna otra arquitectura como esta:
# 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
#
..y "emulación de computadora", lo que significa que no solo se realiza la traducción binaria dinámica, sino que se emula toda la máquina virtual (tarjeta de video, tarjeta de sonido, tarjetas de red, dispositivos ópticos, etc.). Por ejemplo:
# qemu-system-sparc64 -hda hda.img -cdrom debian-6.0.5-sparc-CD-1.iso -boot d
Como he entendido, Qemu no sabe cómo aprovechar la virtualización de hardware (por ejemplo, las soluciones Intel VT-x o AMD-V en la arquitectura x86) y este es el caso en el que KVM puede ayudar: uno puede iniciar Qemu con soporte KVM. Sin embargo, ¿KVM proporciona alguna otra funcionalidad además del acceso para programas de emulación a la virtualización asistida por hardware en arquitecturas de hardware específicas? ¿Es posible crear una máquina virtual completa (CPU, tarjeta de video, dispositivos de E / S, etc.) usando solo KVM? En caso afirmativo, ¿qué programas se deben usar para crear y controlar esta máquina virtual?