A hypervisor provides the virtualization abstraction of the underlying computer system. In full virtualization, a guest operating system runs unmodified on a hypervisor. However, improved performance and efficiency is achieved by having the guest operating system communicate with the hypervisor. By allowing the guest operating system to indicate its intent to the hypervisor, each can cooperate to obtain better performance when running in a virtual machine. This type of communication is referred to as paravirtualization.
In 2005, VMware proposed a paravirtualization interface, the Virtual Machine Interface (VMI), as a communication mechanism between the guest operating system and the hypervisor. This interface enabled transparent paravirtualization in which a single binary version of the operating system can run either on native hardware or on a hypervisor in paravirtualized mode.
In 2006, VMware continued its work in paravirtualization by releasing the
VMI specification as an open specification. In order to foster industry evaluation and feedback, VMware is releasing a Technology Preview that demonstrates support for paravirtualized operating systems in a hosted environment using VMI.
VMware continues its collaboration with the Linux community to develop a paravirtualization interface that supports multiple hypervisors. A proposal, referred to as paravirt-ops, is being adapted by developers from IBM, VMware, Red Hat, and XenSource. This proposed interface incorporates many of the concepts of VMI including the support of transparent paravirtualization. Using this interface, a paravirtualized Linux operating system will be able to run on any hypervisor that supports it.
VMware is adding support for paravirtualized operating systems as they become adopted in commercial operating system distributions across its virtual infrastructure platform products.