Kernel-based Virtual Machine (KVM) - виртуальная машина на основе ядра.
Включает себя модуль виртуализации в ядре Linux, который позволяет ядру функционировать как гипервизор.
KVM требует процессора с аппаратными расширениями виртуализации, такими как Intel VT или AMD-V.
KVM обеспечивает аппаратную виртуализацию для широкого спектра гостевых операционных систем, включая Linux, BSD, Solaris, Windows, macOS и некоторых других.
Эмуляция оборудования
Сам KVM эмулирует очень мало оборудования. Это виртуальный CPU, RAM, VirtIO(виртуализация ввода-вывода). Остальное эмулируется средствами сторонних инструментов и приложений высокого уровня: QEMU, Firecracker, crossvm.
Управление KVM и API
Для управления виртуализацией на базе KVM используется libvirt.
Libvirt – это api, демон и набор инструментов для управления виртуализацией.
Virsh - интерфейс для управления гостевыми машинами. Программа может использоваться для создания, приостановки и отключения доменов. Его также можно использовать для вывода списка текущих доменов.