agsandrew - Fotolia
What is an embedded hypervisor and what value does it provide?
Embedded systems and hypervisors go hand in hand. By understanding both, admins can maximize system benefits such as multiple OS support and legacy code compatibility.
An embedded system is a small, task-specific computer that includes reduced instruction sets and offers many benefits and capabilities, such as better system performance and multiple OS support. Adding an embedded hypervisor extends these benefits and capabilities.
When IT administrators think about computers, they normally think of enterprise servers and computing endpoints such as PCs, laptops, tablets and mobile devices. All of these computers are complex instruction set computing (CISC) devices.
The idea with CISC devices is to create general-purpose computing platforms that can host an OS and run any application. But there can also be a lot of unused resources with CISC devices. The concept of virtualization addresses this waste by installing an additional software layer called a hypervisor.
The hypervisor enables computers to abstract installed software from underlying hardware, create securely isolated operating environments and support the creation of two or more independent compute instances that can use more of the computer's available hardware resources. In effect, virtualization -- and the hypervisor -- makes the most of each available computer.
Embedded systems are known as reduced instruction set computing (RISC) devices, and they cost less than purchasing a server and a hypervisor separately.
Understand an embedded system
Where general-purpose computers must support the processor's full instruction set, RISC devices can use stripped-down processors with reduced instruction sets, resulting in better performance and lower power demands than conventional CISC processors. However, embedded systems can use CISC processors and architectures if the task demands it. Regardless of the RISC or CISC processor choice, an embedded system is designed to do one task -- or a limited set of tasks -- and execute it well.
One notable characteristic of an embedded system is that the software used to operate the device is already installed in the device, typically in the form of firmware. Admins might be able to access some form of menu to configure or control the embedded system, but admins can't install new or different pieces of software on the embedded system. For example, an admin can't reprogram an IoT device to play MP3 files. Software changes are usually limited to updating the existing firmware.
Embedded hypervisors and their place in an embedded system
Embedded systems are still computers, and admins can employ virtualization to improve the capabilities of an embedded system. By bringing a level of hardware abstraction to an embedded system, the resulting device can potentially add OS independence, support multiple OSes, bolster security, enable the use of legacy code and help prevent faults from affecting other systems.
The hypervisor used on an embedded system is known as an embedded hypervisor, and it's also added to the permanent code base installed on the embedded system. Hypervisors such as VMware's ESXi aren't suited for embedded system use, and embedded hypervisors will rely on versions intended specifically for embedded environments, such as VMware ESXi Embedded, or open source variations.
Embedded systems typically don't use embedded hypervisors to increase hardware resource use. For example, embedded systems generally won't use a hypervisor to spawn multiple VMs. Rather, the embedded hypervisor will encapsulate the embedded system into a single VM.