The modification of the source code of an OS in order to run as a guest OS in a virtual machine (VM) environment. Calls to the hardware from the guest OS are replaced with calls to the VM monitor (VMM). Several operating systems, such as Linux, OpenBSD, FreeBSD and OpenSolaris, were paravirtualized for the Xen VM monitor (see
Xen).
Hardware Virtualization Changed the Game
In 2004 and 2006, Intel and AMD added hardware virtualization respectively, and unless VMs are running in ancient CPUs, the guest OS does not need to be paravirtualized. See
virtual machine and
hardware virtualization.
Paravirtualized Guests
The difference between a paravirtualized guest (above) and the emulation method (below) is the "device drivers." In a paravirtualized OS, the drivers are replaced with calls to the VM monitor (VMM) interface. For more on the VM monitor, see
virtual machine monitor.
Emulated Hardware
If the VM monitor emulates the hardware, the guest OS can run without modification. The VM monitor presents a "device model" to the guest OS, which emulates the hardware.