KVM or Kernel-Based Virtual Machine is basically virtualization infrastructure that is specifically built for Linux Operating System in order to function on the x86-based process architecture.
Made by Red Hat Corporation, KVM provides virtualization services on Linux OS platform. It is a kind of hypervisor that emulates, enables as well as offer virtual equipment made on Operating Systems. KVMs are made on Linux Kernel, utilizing Fedora, Ubuntu and Linux operating systems. It could be installed on x86 processors as well as offer isolated instruction set extensions for the AMD and Intel processors.
It supports different Operating System or OS images, such as Windows, Linux Kernel, Solaris and BSD. Additionally, Kernel-Based Virtual Machine also permits isolated virtualized computing resources like storage, memory and processor.
How it works?
It converts the Linux in bare-metal (type-1) hypervisor. Every hypervisor has a few OS components like memory manager, device drivers, input/output (I/O) stack, and network stack and process scheduler in order to run the Virtual Machines. The KVM contains all components as it is a part of Linux Kernel. It is implemented as Linux process that is scheduled via Linux scheduler along with dedicated hardware, such as CPUs, memory, network card, graphics adapter and disks.
Features of KVM -
-- Security - It uses a perfect combination of Secure Virtualization (sVirt) and Security-Enhanced Linux (SELinux) for improved isolation and VM security. sVirt extends the capabilities of SELinux permits MAC security that should be applied to the VMs' guest and avoid labeling errors, whereas SELinux establishes the security boundaries across virtual machines.
-- Stability and Performance - It inherits Linux performance scaling in order to match the demand load in case number of requests and guest machines increases, It allows virtualized application workloads as well as it is basis for most of the virtualization setups of organizations like private clouds and datacenters.
-- Memory Management - Kernel-Based Virtual Machine inherits Linux memory management features, such as non-uniform memory access as well as same-page kernel merging. Memory of Virtual Machine could be swapped as well as backed by huge volumes for good performance or backed via disk file.
-- Resource Control and Scheduling - In KVM, VM is basically Linux process is managed and scheduled by kernel. Linux scheduler permits complete control of allocated resources to Linux process as well as guarantees quality service for specific process. It includes control groups, fair scheduler, real-time extensions and network name spaces.