Virtualization
Contents
Terminology
A hypervisor runs on the physical hardware. The hypervisor allocates (hardware) resources to different virtual machines, each containing a guest operating system.
Virtualization Methods
The three main methods of computer host virtualization are:
- Virtualization/Emulation
- Complete emulation of all hardware. This is slowest. Allows a hypervisor to emulate different a CPU for each guest OS.
- Paravirtualization
- The guest operating system runs on top of a small software API that closely mimics the underlying hardware, albeit in a jail. May be fast. Allows different operating systems to run in the same hypervisor.
- Operating system-level virtualization
- The guest and hypervisor run the same operating system. May be fastest, but also the least flexible.
Example Software and hosters
{{ | Emulation || VMware, Qemu, Bochs || |- | Paravirtualization || Xen, KVM, bhyve, Wind River, Hyper-V?, VirtualBox? || |- | Operating system-level virtualization || chroot/jail, Linux VServer, OpenVZ/Virtuozzo, Docker, User Mode Linux. || |}
Amazon uses Xen. Strato uses Virtuozzo.
Hardware-assisted virtualization
The speed of paravirtualization greatly benefits from hardware virtualization. Both Intel VT-x and AMD-V (released in 2006) allow the virtualization to run in hardware instead of software. This reduces the overhead and makes paravirtualization for guest OS almost as fast as the hypervisor OS.