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 - интерфейс для управления гостевыми машинами. Программа может использоваться для создания, приостановки и отключения доменов. Его также можно использовать для вывода списка текущих доменов.