Ask Sawal

Discussion Forum
Notification Icon1
Write Answer Icon
Add Question Icon

Satvinder twqpze

Posted Questions


Posted Answers


Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the mainline Linux kernel in version 2.6.20, which was released on February 5, 2007.[1] KVM requires a processor with hardware virtualization extensions, such as Intel VT or AMD-V.[2] KVM has also been ported to other operating systems such as FreeBSD[3] and illumos[4] in the form of loadable kernel modules.

KVM was originally designed for x86 processors but has since been ported to ESA/390,[5] PowerPC,[6] IA-64, and ARM.[7] The IA-64 port was removed in 2014. [8]

KVM provides hardware-assisted virtualization for a wide variety of guest operating systems including Linux, BSD, Solaris, Windows, Haiku, ReactOS, Plan 9, AROS Research Operating System and macOS.[9][10] In addition, Android 2.2, GNU/Hurd[11] (Debian K16), Minix 3.1.2a, Solaris 10 U3 and Darwin 8.0.1, together with other operating systems and some newer versions of these listed, are known to work with certain limitations.[12]

Additionally, KVM provides paravirtualization support for Linux, OpenBSD,[13] FreeBSD,[14] NetBSD,[15] Plan 9[16] and Windows guests using the VirtIO API.[17] This includes a paravirtual Ethernet card, disk I/O controller,[18] balloon driver, and a VGA graphics interface using SPICE or VMware drivers.

Avi Kivity began the development of KVM in mid-2006 at Qumranet, a technology startup company[19] that was acquired by Red Hat in 2008.[20]

KVM surfaced in October, 2006[21] and was merged into the Linux kernel mainline in kernel version 2.6.20, which was released on 5 February 2007.[1]

KVM is maintained by Paolo Bonzini.[22]

KVM provides device abstraction but no processor emulation. It exposes the /dev/kvm interface, which a user mode host can then use to:

Originally a forked version of QEMU was provided to launch guests and deal with hardware emulation that isn't handled by the kernel. That support was eventually merged into the upstream project. There are now numerous Virtual Machine Monitors (VMMs) which can utilise the KVM interface including kvmtool, crosvm and Firecracker and numerous specialised VMMs build with frameworks such as rust-vmm.

Internally, KVM uses SeaBIOS as an open source implementation of a 16-bit x86 BIOS.[24]

KVM has had support for hot swappable vCPUs,[25] dynamic memory management,[26] and Live Migration since February 2007.[27][28] It also reduces the impact that memory write-intensive workloads have on the migration process.[29]

KVM itself emulates very little hardware, instead deferring to a higher level client application such as QEMU, crosvm, or Firecracker for device emulation.

KVM provides the following emulated devices:

The kernel-mode component of KVM is a part of Linux kernel, itself licensed under GNU General Public License, version 2.[31]

Answer is posted for the following question.

What is kvm virtualization?


CPI (counts per inch) or DPI (dots per inch) represent the number of steps the mouse sensor reports when moving one inch A lower CPI ( DPI ) has

Answer is posted for the following question.

How to test dpi deviation?


  • To remove directories, run git clean -f -d or git clean -fd.
  • To remove ignored files, run git clean -f -X or git clean -fX.
  • To remove ignored and non-ignored files, run git clean -f -x or git clean -fx.

Answer is posted for the following question.

How to abort uncommitted changes in git?