KVM, the Kernel-based Virtual Machine, is the virtualization layer built directly into the Linux kernel. The project’s own site defines it as “a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V).” Because it relies on those CPU extensions, KVM lets virtual machines run guest code largely on the bare processor rather than through software emulation.
Architecturally, KVM is delivered as kernel modules. The project explains that KVM “consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko.” Loading these modules effectively turns an ordinary Linux kernel into a hypervisor, while the kernel continues to act as a normal operating system for the host.
KVM became part of mainline Linux quickly. The project notes that “the kernel component of KVM is included in mainline Linux, as of 2.6.20,” the kernel release of early 2007. This meant that any modern Linux distribution could run virtual machines without a separate hypervisor product.
KVM handles the CPU and memory virtualization, but it pairs with a userspace program to emulate devices and present a complete machine; in practice that program is usually QEMU. This combination became the default virtualization stack for Linux servers and underpins large open-source cloud platforms such as OpenStack.