What is a Hypervisor?

A hypervisor is also referred to as a VMM (Virtual Machine Monitor) and is essentially a software that is meant for creating as well as running VMs (Virtual Machines). In this context, it is essential to understand what a virtual machine is. A virtual machine refers to a virtual environment which works as a virtual system and is equipped with its own memory, central processing unit, storage and network interface that exist on a physical hardware system, which can be located either off or on-premises. Multiple virtual machines can be present on any hardware, such as a server.

To digress, servers are also used by web hosting companies for providing the service of hosting that makes websites accessible over the Internet. There are various types of hosting plans that make use of either shared or dedicated servers or VPS (Virtual Private Servers). If anyone avails a web hosting plan that has to do with a VPS, then he might come across terms such as “Self Managed Windows VPS”, “Self-Managed Linux VPS”, “Managed Windows VPS” etc. These terms refer to different types of VPS.

Returning to our main topic, a hypervisor is the software that separates the resources of a machine from its hardware and also ensures their appropriate provision in order for these to be used effectively by the virtual machine. It is the hypervisor that enables a host computer to support many guest virtual machines. This is made possible by virtually sharing the resources.

A host machine refers to a computer system on which either one or multiple virtual machines are run by a hypervisor. Each of these virtual machines is known as a guest machine. A virtual operating platform is provided by the hypervisor to the guest operating systems. Additionally, the guest operating systems’ execution is managed by the hypervisor. Resources, such as memory, central processing unit, storage etc. can be reallocated easily by the hypervisor to new virtual machines as well as among the existing guests. Each hypervisor requires certain components in order to run the virtual machines. These components include a process scheduler, a network stack, device drivers, a memory manager, a security manager, an input/output (I/O) stack etc.

How does a Hypervisor work?

Every hypervisor functions on the server level. It can be software-defined or hardware and either virtual or physical. Hypervisors work by loading the client operating systems of virtual machines. Each virtual machine’s computing resources, such as its memory, central processing unit, bandwidth etc. are distributed by the hypervisor. Requests for the hypervisor can always be created by virtual machines through API (Application Programming Interface) calls.

Features of Hypervisors

The most important features of a hypervisor pertain to partitioning, distribution of resources, isolation, virtual machine management and communication. Let us touch upon these briefly. A hypervisor partitions the underlying hardware. Resources, such as network bandwidth, memory etc. are distributed by a hypervisor among independent virtual machines. Moreover, these virtual machines are managed by the hypervisor. The isolation of the virtual machines from each other is ensured by a hypervisor. Hence, any problem in any specific virtual machine doesn’t affect the other VMs. It is a hypervisor’s responsibility to ensure virtual machine management. Hypervisors start and stop the operation of the independent virtual machines based upon its user’s request. The communication that takes place among the virtual machines over virtual networks is also handled by a hypervisor. This enables the virtual machines to connect with each other. These core features of every hypervisor are essential to its functioning.

Types of Hypervisors

Two different types of hypervisors can be used for virtualization. These are referred to as type 1 and type 2. The former is on bare metal whereas the latter is hosted. In Type 1, the hypervisor schedules the VM resources directly to the hardware. This type refers to a command set which is embedded into the physical layer of the host system. The hypervisor spins up and down virtual machines from this location, based on requirement. Additionally, it assigns host computer resources to the virtual machines dynamically. A type 1 hypervisor is also known as a native hypervisor or as a bare-metal hypervisor. Since it runs the host machine’s hardware directly, the hypervisor software is the OS (Operating System) in this type of a hypervisor.

This kind of a hypervisor is an ideal option for enterprises as well as for large-scale deployments. Its major advantages are better allocation of resources and the provision of greater scalability along with physical resources’ optimization.

In Type 2, the resources of the virtual machine are scheduled against the host operating system. This is then executed against the hardware. This type of hypervisor offers limited functionality. Type 2 hypervisors run from the host computer software layer, wherein virtual machines can be created to function as different processes. Type 2 hypervisor is similar to type 1 in one aspect that it is capable of defining different operating systems in its virtual machines.

Type 2 hypervisors are referred to as embedded or hosted hypervisors. A type 2 hypervisor is built atop an operating system. This makes it dependent on the underlying operating system of its host machine. This type of a hypervisor runs as an application within the OS. This OS runs directly on the host computer. Type 2 hypervisors are capable of supporting multiple guest machines but these can’t access the host hardware and its resources directly. Resources, such as network, memory etc. are managed by the pre-existing OS. This leads to latency as well as the creation of restrictions. Moreover, in the event that the OS crashes, the hypervisor will crash inevitably, which might result in data loss. A type 2 hypervisor’s main benefits are that it is easier to set up as well as manage and is compatible with a huge range of hardware.

Conclusion:

Hypervisors offer important benefits that include desktop virtualization, rendering data replication easy and the ability to consolidate and manage servers centrally, despite these running different OS. In order to ensure that opting for a particular type of a hypervisor is effective, it is important for any enterprise to take stock of the requirements that it has, along with the cost that it is willing to incur as well as its expertise in managing virtual machines and then decide accordingly.

Leave a Reply

Your email address will not be published. Required fields are marked *