Virtualization emulates the hardware environment of its host architecture, allowing multiple OSes to run unmodified and in isolation.
The guest software is not limited to user applications; many hosts allow the execution of complete operating systems.
In paravirtualization, the virtual machine does not necessarily simulate hardware, but instead (or in addition) offers a special API that can only be used by modifying[clarification needed] the "guest" OS.
If the source code is available, it is sufficient to replace sensitive instructions with calls to VMM APIs (e.g.: "cli" with "vm_handle_cli()"), then re-compile the OS and use the new binaries.
In 2006, first-generation 32- and 64-bit x86 hardware support was found to rarely offer performance advantages over software virtualization.
DR of a virtualization environment can ensure high rate of availability during a wide range of situations that disrupt normal business operations.