Virtualization - ilya-khadykin/notes-outdated GitHub Wiki
Virtual Machines are created on top of a Hypervisor, which runs on top of the Host Machine's Operating System. With Hypervisors, we emulate hardware like CPU, Disk, Network, Memory and install Guest Machines on it. We can create multiple Guest Machines with different Operating Systems on a Hypervisor. For example, we can take a Linux Machine running on bare-metal and, after setting up the Hypervisor, we can create multiple Guest Machines with Linux and Windows Operating Systems. Some examples of hypervisors are:
- KVM
- Xen
- VMWare
- VirtualBox
- Hyper-V.
We can find support for hardware virtualization in all recent CPUs, as it is important to share the host system's processor resources with multiple Guest Operating Systems in a safe and efficient way. Most of the recent CPUs will also support Nested Virtualization, which enables us to have a VM inside a VM.
KVM
"KVM for (Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware."
It is part of the main-line Linux Kernel. It is ported for S/390, PowerPC, IA-64 and ARM as well.