The server hardware at this point, through the implementation of virtualization, acts as a container for your various virtual machines which consist of the operating system and applications. Handling the task of communicating requests back and forth (I/O) for hardware resources that power the virtual machine is the Hypervisor. The Hypervisor, sometimes called virtual machine manager (VMM) is the software that allows multiple operating systems to share a single hardware host and its hardware resources such as memory, hard disks, CPU, etc. The hypervisor can perform many functions such as dynamically allocating memory or CPU processing power to virtual machines or guest operating systems as needed, thereby enabling the optimal use of the hardware resources.
Johan De Gelas in another article on IBM/Intel's VirtualizationConversation.com explains the hypervisor this way:
"To create several virtual servers on one physical machine, a new software layer is necessary: the hypervisor, also called Virtual Machine Monitor (VMM). The most important role is to arbitrate the access to the underlying hardware, so that guest OSes can share the machine. You could say that a VMM manages virtual machines (Guest OS + applications) like an OS manages processes and threads."
Virtualization is accomplished in one of two widely adopted implementations:
- A host operating system is installed on the hardware with a virtualization application (Hypervisor) loaded on it.
- A virtualization software implementation (Hypervisor) is loaded directly on the hardware.
Along with the different flavors of virtualization software you have a multitude of different monitoring, disaster recovery, backup, conversion (from hardware to VM or from Image to VM) utilities, and load balancing applications available in the burgeoning virtualization software market.