/ˌkeɪ viː ˈɛm/

noun … “Linux-based virtualization for running multiple OS instances.”

KVM, short for Kernel-based Virtual Machine, is a virtualization module built into the Linux kernel that enables the creation and management of Virtual Machines on x86 and other architectures. By leveraging hardware virtualization extensions such as Intel VT-x or AMD-V, KVM allows each virtual machine to execute instructions directly on the physical CPU while maintaining isolation and security between guests.

KVM operates as a Type 1 hypervisor in the sense that it integrates directly with the Linux kernel, but it requires user-space management tools, such as QEMU, to emulate peripherals and provide VM lifecycle control. Each VM is treated as a regular Linux process, benefiting from standard kernel scheduling, memory management, and I/O mechanisms. This integration simplifies resource allocation, security enforcement, and process isolation.

Key characteristics of KVM include:

  • Full virtualization: allows unmodified guest operating systems to run.
  • Hardware acceleration: uses CPU virtualization extensions for near-native performance.
  • Process-based management: VMs appear as standard Linux processes, allowing use of familiar monitoring and control tools.
  • Scalability: supports multiple concurrent VMs sharing host resources efficiently.
  • Integration with Linux ecosystem: utilizes existing kernel modules, device drivers, and security frameworks.

Workflow example: A cloud administrator on a Linux host can launch multiple VMs using KVM. Each VM runs a different operating system, such as Linux or Windows. The administrator uses QEMU for device emulation and libvirt for orchestration. VMs execute in isolated memory spaces, but benefit from host CPU scheduling and memory management, enabling high performance and safe concurrency.

Conceptually, KVM is like a building manager who uses existing infrastructure to create fully independent apartments (Virtual Machines) inside a larger structure (the Linux host). Each apartment has its own utilities, but the manager coordinates access to shared resources, ensuring safety and efficiency.

See Virtual Machine, Hypervisor, CPU, Linux.