2.7.1 What are Virtualization Modes?

A virtual machine can be defined as a virtualized operating system with its associated software and applications. It runs in one of three virtualization modes, also named domain types:

  • Hardware virtualized (HVM): An unmodified guest operating system executes in complete isolation. Instructions are trapped and emulated at the hardware level (Intel® VT-x/VT-i and AMD-V™). This means that a guest can run without specific modifications to allow for virtualization.

  • Paravirtualized (PVM): A software interface similar but not identical to the underlying hardware is presented to the guest operating system. Paravirtualization provides hooks for guest instructions so that hardware related tasks such as access to network resources, blocks and underlying files can be handled by the management domain instead of the virtual machine, often significantly improving performance, particularly for 32-bit environments. Paravirtualization requires that the guest kernel has support for and loads the PVM drivers to be made aware of the virtual environment.

  • Hardware virtualized with paravirtualized drivers (PVHVM): Similar to HVM but with additional paravirtualized drivers that are capable of handling I/O related processes directly within the management domain to increase VM performance. This provides the advantages of paravirtualization to an otherwise hardware virtualized guest. This domain type is typically used to run Microsoft Windows™ guests with a limited performance penalty.