What is Paravirtualization and How does it work?

  • Paravirtualization refers to communication between the guest OS and the hypervisor to improve performance and efficiency. 
  • Paravirtualization, involves modifying the OS kernel to replace non-virtualizable instructions with hypercalls that communicate directly with the virtualization layer hypervisor. 
  • The hypervisor also provides hypercall interfaces for other critical kernel operations such as memory management, interrupt handling and time keeping.
  • Paravirtualization is different from full virtualization, where the unmodified OS does not know it is virtualized and sensitive OS calls are trapped using binary translation. 
  • The value proposition of paravirtualization is in lower virtualization overhead, but the performance advantage of paravirtualization over full virtualization can vary greatly depending on the workload. 
  • As paravirtualization cannot support unmodified operating systems (e.g. Windows 2000/XP), its compatibility and portability is poor. Paravirtualization can also introduce significant support and maintainability issues in production environments as it requires deep OS kernel modifications.
  • Vmxnet is a paravirtualized I/O device driver that shares data structures with the hypervisor.

Reference:

Leave a Reply