This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Hardware virtualization" – news ·newspapers ·books ·scholar ·JSTOR(April 2010) (Learn how and when to remove this message) |
Hardware virtualization is thevirtualization ofcomputers as complete hardware platforms, certain logical abstractions of their componentry, or only the functionality required to run variousoperating systems. Virtualization emulates the hardware environment of its host architecture, allowing multiple OSes to run unmodified and in isolation. At its origins, the software that controlled virtualization was called a "control program", but the terms "hypervisor" or "virtual machine monitor" became preferred over time.[1]
The term "virtualization" was coined in the 1960s to refer to avirtual machine (sometimes called "pseudo machine"), a term which itself dates from the experimentalIBM M44/44X system.[1] The creation and management of virtual machines has also been called "platform virtualization", or "server virtualization", more recently.[2][3]
Platform virtualization is performed on a given hardware platform byhost software (acontrol program), which creates a simulated computer environment, avirtual machine (VM), for itsguest software. The guest software is not limited to user applications; many hosts allow the execution of complete operating systems. The guest software executes as if it were running directly on the physical hardware, with several notable caveats. Access to physical system resources (such as thenetwork access, display, keyboard, anddisk storage) is generally managed at a more restrictive level than thehost processor and system-memory. Guests are often restricted from accessing specificperipheral devices, or may be limited to a subset of the device's native capabilities, depending on the hardware access policy implemented by the virtualization host.[4]: 5,13
Virtualization often exacts performance penalties, both in resources required to run the hypervisor and in reduced performance on the virtual machine compared to running native on the physical machine.[4]: 35,67-68
However, when multiple VMs are concurrently running on the same physical host, each VM may exhibit varying and unstable performance which highly depends on the workload imposed on the system by other VMs. This issue can be addressed by appropriate installation techniques fortemporal isolation among virtual machines.
There are several approaches to platform virtualization.
Examples of virtualization use cases:

In full virtualization, the virtual machine simulates enough hardware to allow an unmodified "guest" OS designed for the sameinstruction set to be run in isolation. This approach was pioneered in 1966 with the IBMCP-40 andCP-67, predecessors of theVM family.
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. For this to be possible, the "guest" OS's source code must be available. 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. This system call to thehypervisor is called a "hypercall" inTRANGO andXen; it is implemented via a DIAG ("diagnose") hardware instruction in IBM'sCMS underVM[clarification needed] (which was the origin of the termhypervisor)..
In hardware-assisted virtualization, the hardware provides architectural support that facilitates building a virtual machine monitor and allows guest OSs to be run in isolation.[9] This can be used to assist either full virtualization or paravirtualization. Hardware-assisted virtualization was first introduced on theIBM 308X processors in 1980, with the Start Interpretive Execution (SIE) instruction.[10]
In 2005 and 2006,Intel andAMD developed additional hardware to support virtualization ran on their platforms. Sun Microsystems (nowOracle Corporation) added similar features in theirUltraSPARC T-Series processors in 2005.
In 2006, first-generation 32- and 64-bit x86 hardware support was found to rarely offer performance advantages over software virtualization.[11]
In operating-system-level virtualization, a physical server is virtualized at the operating system level, enabling multiple isolated and secure virtualized servers to run on a single physical server. The "guest" operating system environments share the same running instance of the operating system as the host system. Thus, the sameoperating system kernel is also used to implement the "guest" environments, and applications running in a given "guest" environment view it as a stand-alone system.
Adisaster recovery (DR) plan is often considered good practice for a hardware virtualization platform. DR of a virtualization environment can ensure high rate of availability during a wide range of situations that disrupt normal business operations. In situations where continued operations of hardware virtualization platforms is important, a disaster recovery plan can ensure hardware performance and maintenance requirements are met. A hardware virtualization disaster recovery plan involves both hardware and software protection by various methods, including those described below.[12][13]
Surprisingly, we find that the first-generation hardware support rarely offers performance advantages over existing software techniques. We ascribe this situation to high VMM/guest transition costs and a rigid programming model that leaves little room for software flexibility in managing either the frequency or cost of these transitions.