How Hypervisors Work
A hypervisor is a software system that partitions a single physical machine into
multiple virtual machines, to provide server consolidation and utility computing. Existing applications and
binaries run unmodified.
The hypervisor presents a virtual machine to guests. The hypervisor forms a layer
between the software running in the virtual machine and the hardware. This separation
enables the hypervisor to control how guest operating systems running inside a virtual
machine use hardware resources.
Uniform View of Hardware
A hypervisor provides a uniform view of underlying hardware. Machines from different vendors
with different I/O subsystems appear to be the same machine, which means that
virtual machines can run on any available supported computer. Thus, administrators can view
hardware as a pool of resources that can run arbitrary services on demand.
Because the hypervisor also encapsulates a virtual machine's software state, the hypervisor layer
can map and remap virtual machines to available hardware resources at any time
and also use live migration to move virtual machines across computers. These capabilities can
also be used for load balancing among a collection of machines, dealing with
hardware failures, and scaling systems. When a computer fails and must go offline
or when a new machine comes online, the hypervisor layer can remap virtual
machines accordingly. Virtual machines are also easy to replicate, which allows administrators to
bring new services online as needed.
Using Domain Capabilites
Containment
Containment gives administrators a general-purpose undo capability. Administrators can suspend a virtual machine
and resume it at any time, or checkpoint a virtual machine and roll
it back to a previous execution state. With this capability, systems can more
easily recover from crashes or configuration errors. See Recovery.
Containment also supports a very flexible mobility model. Users can copy a suspended
virtual machine over a network or store and transport it on removable media.
The hypervisor provides total mediation of all interactions between the virtual machine and
underlying hardware, thus allowing strong isolation between virtual machines and supporting the multiplexing
of many virtual machines on a single hardware platform. The hypervisor can consolidate several
physical machines with low rates of utilization as virtual systems on a single
computer, thereby lowering hardware costs and space requirements.
Security
Strong isolation is also valuable for reliability and security. Applications that previously ran
together on one machine can now be separated on different virtual machines. If
one application experiences a fault, the other applications are isolated from this occurrence
and will not be affected. Further, if a virtual machine is compromised, the
incident is contained to only that compromised virtual machine.