What Is a Hypervisor?
A hypervisor is software that uses virtualization technology to create, run, and manage virtual machines (VMs). Also known as a virtual machine monitor (VMM), a hypervisor keeps its operating system and resources isolated from the virtual machines it manages.
A key benefit of hypervisors is that multiple operating systems with very different characteristics can run at the same time, next to each other, and they can share the same virtualized hardware resources. Without this capability, only one operating system can be run on a computer hardware system.
A hypervisor allows developers to run multiple operating systems simultaneously on one hardware system.
Benefits of Hypervisors
Data Replication and Cloning
Cloning and replicating virtual machines is a difficult task. Using a hypervisor to clone or replicate a virtual machine is much easier and more cost-effective than using the original storage-based replication method, which requires replicating the full volume of all the virtual machines on the server and would require a huge amount of storage space.
Replication or cloning with a hypervisor is simple. You can choose the VMs and the components to be replicated, rather than all the VMs, which allows you to save storage space on the servers. Hardware-neutral hypervisor-based replication lets you take any data duplicates and move and store them easily in any storage device.
Consolidating Servers
Inbuilt graphical dashboards are components of hypervisors. Additional enhancements to inbuilt dashboards provide better visibility, which in turn provides the ability to centrally consolidate and manage servers. This can be accomplished even though the VMs can each be running different operating systems.
Industrial Control Automation Consolidation
With the use of a hypervisor and VMs, an industrial control automation system manufacturer can take previously separate computerized components of control automation system equipment and consolidate them on a single embedded system platform.
Test Environments
A hypervisor can create virtual systems that can test systems and applications as they are under development. This makes it easier to verify whether coding and system operations work properly.
Desktop Virtualization
With a hypervisor, a server can host a client’s or worker’s virtual desktop, which replicates the worker’s physical desktop and can be used over the internet.
Benefits of Hypervisors
An embedded hypervisor is designed to support embedded systems needs and requirements. It is usually a Type 1 hypervisor that is targeted to support the virtual requirements of embedded systems within a device, not IT servers or desktop computers. An embedded hypervisor’s overall software coding size is small and provides real-time or fast hypervisor capabilities with support for multiple isolated VMs in an embedded system device.
Due to its size and requirements, an embedded hypervisor is designed to minimally affect the system resources on the device and to support real-time latency. This type of hypervisor can implement scheduling policies between the different virtual machines and deliver support to the components of a real-time system for an embedded device.
Classification Types of Hypervisors
Type 1 Hypervisor (Bare Metal) | Type 2 Hypervisor (Hosted) |
---|---|
A Type 1 hypervisor, which is also called a bare metal hypervisor, directly operates on the host system’s hardware to create VMs and manage the guest operating systems used in each VM. It replaces the host operating system, and the resources for each VM are directly scheduled by the hypervisor to the hardware. In most cases, an embedded hypervisor is a Type 1 hypervisor. KVM is a hypervisor that is merged into the Linux kernel of modern versions of Linux. | A Type 2 hypervisor operates as a software layer or application on a conventional operating system. Type 2 hypervisors are also called hosted hypervisors. This type of hypervisor works by extracting guest operating systems from the host operating system. The resources of these VMs are scheduled to the host operating system. Then they are performed against the hardware in the host system. |
Type 1 vs. Type 2 Hypervisors
The simple difference between a Type 1 and a Type 2 hypervisor is that a Type 1 hypervisor (bare metal hypervisor) directly operates on the host system’s hardware, and a Type 2 runs as a software layer or application on top of a conventional operating system. Most embedded hypervisors are Type 1.
Embedded Hypervisors
Hardware Requirements
Embedded systems use a wide range of processor architecture types. The selected embedded hypervisor, usually Type 1, needs to work with the processor used in the embedded system or device.
Given the design of embedded systems, most have strict resource usage limits on the processor, particularly in the use of power and computer memory. An embedded hypervisor must operate within those limits. Additionally, the hypervisor must communicate rapidly, with low latency, within all components of the system. Embedded hypervisors based on a real-time OS help provide this fast communication.
Resource Requirements
The cost and technical limits of embedded system hardware require efficient use by the embedded hypervisor. With these limitations and requirements, embedded hypervisors most often maintain a small memory footprint, from several tens to several hundred kilobytes. The size depends on the efficient level of implementation and the functionality level provided.
Use Cases
As the Internet of Things grows and intelligent edge systems become more prevalent, the use cases for embedded hypervisors are expanding. Use cases include system hardware simplification, vehicle diagnostics, sensor input and actuator output for industrial environments, and support for multiple operating systems.
An embedded hypervisor must operate within the usage limits of the processor, while communicating rapidly with all components of the system.
How Hardware Virtualization and Embedded Hypervisors Work
The computer hardware that is used as a hypervisor is known as the host, and all the virtual machines that are created and used as its resources are called guests. Server systems within IT systems have used hypervisors as well as desktop systems. As hypervisors have become more popular, they have been used in embedded platforms and systems.
The hypervisor takes the CPU, memory, and storage as pooled resources and allows them to be reallocated across the various existing guests or allocates them to the created VMs.
To run these created VMs, hypervisors need to utilize various OS-level mechanisms, such as a memory manager, process scheduler, input/output (I/O) sources, and more.
The hypervisor allocates resources to each VM and manages and schedules VM resources against the physical computer resources of the system. The actual computer hardware performs the execution (e.g., the CPU executing instructions requested by the VMs), while the hypervisor manages all the scheduling.
How Can Wind River Help?
Wind River Helix Virtualization Platform
Wind River Helix™ Virtualization Platform leverages a Type 1 hypervisor to consolidate multi-OS and mixed-criticality applications onto a single edge compute software platform, simplifying, securing, and future proofing designs. By creating and managing virtual machines, safety-partitioning capabilities can separate safety-critical applications from general-purpose applications, allowing easy implementation of your new and legacy systems.
Figure 1. Wind River Helix Virtualization Platform architecture