Type 1 hypervisors are also called microkernels, thin hypervisors or autonomous hypervisors run on bare metal. Type 1 hypervisors are best imagined as a compact operating system with specific functions which is installed directly on a bare-metal server and has the main signs of an OS:
- presents an abstract set of resources for applications instead of an unordered set of hardware;
- controls the resource pool by distributing CPU time, memory, I/O devices between programs which request the use of the computer’s resources.
This type of hypervisor gives the guest operating systems launched under its control on the upper level an abstraction of a virtual machine. As a result, each guest OS gets an illusion of full control of all the resources below. It functions the same way an OS would if it were running on real hardware in privileged mode, as a supervisor.
The principle of operation of a Type 1 hypervisor
A supervisor is a central control module, the core of the operating system. It can consist of multiple parts: a program supervisor, a task manager, an I/O supervisor and others.
Most contemporary Intel and AMD CPUs for servers and desktop computers support virtualization on the hardware level. The operating system can be used in two modes: privileged mode and user mode. The access rights of the application that controls the computer’s resources are severely limited.
Type 1 hypervisors have a very important quality: the size of its codes is hundreds of times smaller than most modern operating systems. This also leads to fewer mistakes that can freeze the entire system. An error in one of the operating systems in one of the user virtual machines should not affect the other systems on the same physical equipment.
Security is one of the main requirements towards hypervisors, as they get full control over the hardware resources on which virtualization is run. Consequently, the hypervisor’s task is to run the machine code in a safe way while not allowing a guest OS to:
- block interruptions;
- modify the virtual memory page tables to the physical memory of the entire machine;
- change data in memory cells dedicated to other running processes (except for cases when the task necessitates it).
System calls are also intercepted and run within the hypervisor, but each guest OS appears to be running the code in its own privileged mode. In other words, the hypervisor creates the illusion that the code of the guest OS is run on the hardware level, in privileged mode, while it is, in fact, running in guest mode. If one of the guest systems crash, the others will continue functioning.
The hypervisor ends up the only software run in full privilege mode. This quality of the hypervisor is referred to as equivalency – the behavior of user programs does not change when working on the virtual machine or on physical hardware, except for time characteristics.
The time it takes to run code differs significantly – the hypervisor takes some of the CPU time for intercepting an analyzing the instructions of the guest OS, as well as emulating the execution. In addition, the resources of the physical equipment are usually distributed between multiple virtual machines and each of them gets only part of the CPU time on-demand. However, this is enough to run most processes with no issues; not all of them are used with the same intensity. Some processes can be on standby waiting for user input or for the slow periphery equipment to shut down. This time is used effectively, as the system distributes it to other active processes in multitask mode.
Xen, VMware ESXi, Hyper-V and other hypervisors can be considered Type 1.
Xen (Xenserver, Citrix Hypervisor)
The Xen thin hypervisor was developed as part of a research project of the Cambridge University laboratory. The first public release became available in 2003 when XenSource put it on the marked. XenSource was absorbed by Citrix in 2007; as a result, some of the products were renamed. Xen is a crossplatform hypersor which supports hardware virtualization and paravirtualization. Most of the components are located beyond the hypervisor, which is why Xen contains a minimal amount of code. Xen is a fully open-source GNU GPL 2-licensed hypervisor. This means that the product can be modified however the user needs. Some consider Xen a hybrid hypervisor due to its support for paravirtualization and hardware virtualization.
The autonomous VMware ESXi hypervisor is an Enteprise-class virtualization solution developed by VMware. Just like other VMware products, ESXi is available for free with limited functionality. The paid full version supports features such as centralized control over all virtual machines on every host of the project using the vCenter platform. However, even the free version handles all the main tasks of the hypervisor. User reviews state that the product is highly stable, easy to manage, uses a minimal amount of code and supports a wide range of guest systems commonly used in the corporate sector.
Hyper-V is hardware virtualization solution for x64 systems made by Microsoft. It is available in two variants: as a role in the server OS’ of the Windows family (Windows Server 2008, Windows Server 2012 etc.), as well as the x64 Pro and Enterprise versions of Windows 8, Windows 8.1, Windows 10, and as a separate product – Microsoft Hyper-V server. Many users who are used to Microsoft solutions consider Hyper-V to be one of the most convenient hypervisors when it comes to virtualization. As a side note, the Azure cloud is fully built on native Microsoft products.