What is Hypervisor?
What is Hypervisor?
A hypervisor is also known as a VM (virtual machine) monitor. It is a process or an inbuilt code that creates, runs and managed virtual machines (VMs). Hypervisor allows one host machine to support several guest VMs. This is achieved by virtual sharing of resources such as RAM and CPU.
Typically, hypervisors are of two types – type 1 and type 2.
Type 1 hypervisors are called bare metal because they directly run on the hardware of the host.
Type 2 hypervisors are commonly referred to as “hosted” because they run using software layer that overlies an operating system, just like every other computer program.
We will discuss hypervisor’s types in a bit more detail in a later part if this glossary.
Hypervisor – at a Glance
A hypervisor could be a software creating and managing multiple virtual machines (VMs) at once. Sometimes called the VM monitor (VMM), hypervisor separates operating system and resources from the VM to enable creating and managing the VMs. Hypervisor may not always be a software application running on the system. It could be used as both software and hardware but will serve different purposes under given circumstances.
The physical hardware can be used as a hypervisor. Such implementation will call it as host. A single host can have multiple VMs relying on it. These guest VMs are called the guests.
A hypervisor treats resources (RAM, CPU, and storage) not as single entities of individual guests but as a pool that can be easily allocated and rearranged among the existing guests (virtual machines) based on the CPU requirements.
All hypervisors will need OS-level components to run as memory managers. Device drivers and I/O stack are equally essential for the smooth running of a virtual machine.
A hypervisor is a computer software, firmware or hardware that creates and runs virtual machines. A computer that runs one or more virtual machines is defined as a host machine. Each virtual machine is called a guest machine. The hypervisor presents the guest operating systems with a virtual operating platform and manages the execution of the guest operating systems. Multiple instances of a variety of operating systems may share the virtualized hardware resources.
The first hypervisors providing full virtualization were the test tool SIMMON and IBM’s one-off research CP-40 system, which began production use in January 1967, and became the first version of IBM’s CP/CMS operating system. CP-40 ran on an S/360-40 that was modified at the IBM Cambridge Scientific Center to support Dynamic Address Translation, a key feature that allowed virtualization. Before this, computer hardware had only been virtualized enough to allow multiple user applications to run concurrently. With CP-40, the hardware’s supervisor state was virtualized as well, allowing multiple operating systems to run concurrently in separate virtual machine contexts.
Types of Hypervisors
If you recall we skimmed through hypervisor types and reserved our discussion for a later date –
Type 1 hypervisors are also called native or bare metal hypervisor.
Type 1 runs directly from the VM resources. Also referred to as a native or bare metal hypervisor, such hypervisor relies on the host’s hardware.
It takes the role of the host, thereby scheduling and rearranging VM and other resources directly.
Type 2 hypervisor does not work anyway close to a Type 1 hypervisor.
It runs on a conventional OS as a software layer.
Type 2 hypervisors cannot achieve isolation the way Type 1 does. It works by abstracting guest OS from the host. Resources for a VM are scheduled against the host, which is then executed against the system hardware and not directly.
Type 2 hypervisor are preferred by individual users planning to run several Operating systems on a personal computer.