Very often, we hear about the magic of virtualization. However, there is a technology that enables virtualization but isn?t as discussed as virtualization ? it simply gets overshadowed. We?re talking about the hypervisor.
Hypervisors can be categorised into two broad types: type 1 and 2. In this article, we?re going to look at both, specifically what differentiates the two. Before we do that, let?s take a look at the concept of hypervisors: What they are and what they can do for you.
A hypervisor essentially separates the operating system and applications in a computer from the underlying physical hardware. This is how it enables virtualization, by giving the physical host machine the ability to operate multiple VMs (Virtual Machines) on the same system. Having these multiple VMs as guests help optimise the usage of computing resources, such as memory, network bandwidth and more.
So, as we?ve seen, virtualization is inextricably bound to hypervisor technology. As a matter of fact, hypervisors were initially called Virtual Machine Monitors (VMM). What the hypervisor does is provide a layer between the hardware (the physical host machine) and the Virtual Machines (guest machines). This layer handles all of the transactions between the two.
What do Hypervisors bring to the table: Benefits
Although Virtual Machines run on the same host machine, they are still separated from each other. This allows every Virtual Machine a greater degree of privacy. It also safeguards them from instances of errors, crash or malware attacks that happen to other Virtual Machines on the same system.
Furthermore, Virtual Machines by nature are very mobile. Since they are independent of the underlying hardware, these VMs can be moved between local or remote virtualized servers with ease (as opposed to more traditional applications that are tied down to physical hardware).
Overall, for many companies, VMs are an efficient and scalable option and this made possible through the hypervisor.
Types of Hypervisors ? 1 and 2
Here we?re going to look at what makes Type 1 and Type 2 hypervisors so different and what the benefits of each type are.
Type 1 Hypervisor:
The Type 1 hypervisor is referred to as the ?bare-metal? hypervisor. This means that it runs directly on the physical hardware of the host machine ? it doesn?t have to load an underlying Operating System before that. Due to the fact that Type 1 hypervisors have direct access to the underlying hardware (and no other Operating Systems and device drivers to content with) this type of Hypervisor is considered to be the best performing and most efficient for enterprise computing.
A few examples of Type 1 hypervisors are Citrix/Xen Server, VMware ESXi and Microsoft Hyper-V.
While considered efficient and well performing, these hypervisors are also known to be very secure. This is because the flaws and vulnerabilities that are endemic to Operating Systems are often absent from Type 1, bare metal hypervisors. The underlying OS has been eliminated. Therefore, each Virtual Machine is isolated from the other and that same isolation guards them against malicious activities or threats.
Hardware Support: Type 1
When it comes to hardware support, Type 1 hypervisors use hardware acceleration software and cannot function without the availability of this technology. Hardware acceleration technologies basically help the Hypervisor perform the intensive tasks required to manage the virtual resources of the computer. Without these technologies, the hypervisor would have to handle the intensive tasks required for virtualization on its own. This would ultimately lead to a drop in virtualization performance and also restrict the number of guest VMs that could be hosted on a computer.
Type 2 Hypervisors:
The main difference between Type 1 and Type 2 hypervisors is that Type 2 hypervisors are typically installed on an existing Operating System. This makes it a hosted hypervisor, seeing as it relies on the host machine?s OS to undertake certain operations like managing calls to the CPU, managing network resources, managing memory and storage. This allows for Type 2 hypervisors to support a wide range of hardware.
Examples of type 2 Hypervisors include Microsoft Virtual PC, Oracle Virtual Box, VMware Workstation, Oracle Solaris Zones, VMware Fusion, Oracle VM Server for x86 and more.
The origins of Type 2 Hypervisors go back to the days of x86 virtualization. This was a time when existing systems used pre-existing Operating Systems, while the hypervisor was deployed as an advanced software layer.
Now, while the goal of both types of hypervisors remained the same, the usage of the underlying Operating System introduced a certain amount of latency. This is because, with a Type 2 hypervisor, all activities and the work of each VM had to go through the host OS.
Hardware Support: Type 2
Type 2 Hypervisors typically use hardware acceleration technologies, if the features are available. However, they tend to fall back on software emulation if the support isn?t available on the physical host system.
One interesting technology is the KVM hypervisor. This open sourced Linux-based hypervisor is mostly classified as a Type-1 hypervisor, which turns the Linux kernel into a ?bare metal? hypervisor. At the same time, the overall system is categorised as a type-2 hypervisor due to the full functional Operating System used. The unique KVM model allows for full virtualization and customized kernels (the core component of computer operating systems), allowing you the opportunity to set limits for the resources used, it also ensures that your virtual machines are more isolated and can host different Operating Systems other than Linux.
Few Linux VPS Hosting providers also use KVM hypervisor to create account isolation in their system. In the KVM hypervisor, the Linux kernel acts as a Type 2 hypervisor, and can, therefore, be installed along with the Linux kernel. With KVM, every VM is implemented as a regular Linux process, is scheduled by the Linux scheduler. Each VM comes with dedicated virtual hardware, such as graphics adapter, CPU(s), network cards, memory and disks.
Today, most hypervisors used in production are Type 1 hypervisors. However, there are still a few IT environments that prefer Type 2. Type 1 hypervisors are more common in production due to the low overhead. However, the low cost and ease of installation of a Type 2 hypervisor make it an ideal option for home labs or other test environments.