Why is it possible to deploy a hypervisor within a hypervisor

hyper-vhypervisorvirtualizationvmware-esx

Why is that a hypervisor, which alledgedly needs to be on physical hardware, can be deployed within a VM?

For example, XenServer (the actual hypervisor) can be deployed in an ESX VM?

Why is this possible (Although not a good idea for many reasons, but still works).

Also, why do people say a hypervisor needs physical hardware (from an architectural point of view, rather than obvious performance reasons).

Thanks

Best Answer

A bare-metal hypervisor (eg ESX, Hyper-V) is simply an operating system designed to control and monitor the access to the hardware. So naturally, a hypervisor within a virtual machine would be controlling and monitoring access to the hardware it has access to. This works because the virtual hardware looks exactly like the real hardware.

Paravirtualization (eg Xen) on the other hand, does not pass the hardware architecture to the virtual guests, but rather provides an API to use resources. Thus, conventional operating systems (and hypervisors) would not be able to run on a paravirtualized system.

Related Topic