KVM (Kernel-based Virtual Machine) is a hardware virtualization hypervisor, originally developed for x86-based processor architecture, but later ported for IA-64 and ARM. KVM allows one to run on a single physical host multiple virtual machines (VMs) with unmodified guest operating systems such as Linux, BSD and Windows. Each VM is assigned its own private virtualized hardware for CPU, memory, network adapter, hard disk, etc. The virtualized hardware resources (e.g., vCPUs) are hot-pluggable, and VMs can be migrated live without being shut down. The kernel module for KVM is integrated in the Linux kernel 2.6.20 and higher. KVM requires processor support for hardware virtualization, such as Intel VT or AMD-V. KVM is used in conjunction with
-based front ends such as
to create and manage VMs.