Paravirtualization refers to communication between the guest Operating System and the hypervisor to improvise and therefore enhance performance and efficiency. It provides a software interface to VMs that are alike, however not alike to the underlying hardware. It involves modifying the OS kernel to remove non-virtualizable instructions with hypercalls that directly communicate with the virtualization layer hypervisor. Also, it provides hypercall interfaces to perform other essential kernel operations such as memory management, interrupt handling and time keeping.
Paravirtualization is the unmodified OS that doesn’t make out, as it is virtualized and sensitive OS calls are trapped using binary translation. As a matter of fact, the compatibility and portability of paravirtualization is degrading as it fails to foster unmodified operating system, such as Windows 2000/XP.
Paravirtualization offers compelling support and maintainability issues in production environments as it demands modifications in OS kernel. One of the common examples of paravirtualization that virtualizes the processor and memory using a modified Linux kernel and virtualizes the I/O using guest OS device drivers is the open source Xan project. It is a bit complex to create more cogent binary translation support for the entire virtualization but it is comparatively simple to modify the guest OS to allow paravirtualization.
VMware has used certain aspects of paravirtualization techniques across its array of VMware product line for years in the form of VMware tools and optimized virtual device drivers. The influential VMware tools provide a backdoor to the VMM Hypervisor used for services such as logging and guest shut-down, and time synchronization. Vmxnet is one of the paravirtualized I/O device drivers that shares data structures with the hypervisor. It can draw benefits of host device abilities to offer increased throughput and less CPU utilization. VMware tools service and the vmxnet device drivers are not at all CPU paravirtualization solutions.