Exploring a KVM
As the name implies, a KVM adds the hypervisor ability to a Linux kernel. KVM allows you to create fully isolated virtual machines while not being dependent on the host kernel. The isolation is created by emulating several pieces of hardware, such as CPU, RAM, Sound/Video/Network card, PCI bridges, and Keyboard/Mouse input devices. Since KVM is not dependent on the host kernel, it is able to virtualize a wide range of operating systems, such as Linux, BSD, Windows, OS X, and so on. One of the main differences between KVM and container-based virtual machines is that the allocated resources for KVM is isolated from each other and the host.
Thus, the density of the number of KVM VMs in a node is much lower than containers. KVM are the only choice for non-Linux operating systems and for purpose-built operating systems based on Linux, such as ClearOS, FreeNAS, Zentyal, and so on. For more information on KVM, refer to https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine.