Virtualization
Today in the digital world, advancing technology enables us to make complex processes more efficient. Virtualization is a key concept that accompanies this progress. It enables the parallel operation of several operating systems such as Linux and FreeRTOS or the execution of a real-time application alongside a fully-fledged operating system.
Particularly in safety-critical areas, virtualization allows software applications to be isolated from each other in order to increase reliability. emtrion supplies practical developer kits with virtualization (jailhouse) for the emCON-RZ/G series.
What is embedded virtualization?
In embedded virtualization, hardware resources such as processors, memory or peripheral devices are virtualized. In this way, these components can be shared, “duplicated” virtually, so to speak. Thanks to embedded virtualization, you can run several virtual machines on one embedded system. Each virtual machine is allocated a portion of the resources and runs in isolation from the others.
The various virtual machines are isolated from each other. Errors or security gaps in one machine do not affect the other machines. If a virtual machine crashes, this does not affect the other machines – they continue to run normally. Embedded virtualization therefore increases the robustness and security of the overall system. Embedded virtualization is often used in safety-critical areas such as medical technology or the automotive sector.
What virtualization technologies are available?
There are various technologies for embedded virtualization:
- Hypervisors: This software divides up the hardware resources and manages the virtual machines. Typical hypervisors for embedded systems are microkernels or type 1 hypervisors such as Xen or VMware ESXi. They have a very low overhead.
- Containers: Containers virtualize at operating system level. They separate processes and resources, but run the same operating system. Docker, for example. They are somewhat less isolated than Virtual machines (VMs).
- Para-virtualization: Guest systems are adapted to work together with the embedded hypervisor. This can increase performance.
What are the advantages of virtualization?
Virtualization solutions offer many advantages:
- better utilization of hardware resources through sharing: several VMs share the available resources optimally.
- simplified maintenance, as changes to one VM do not affect the others: VMs can be maintained independently.
- increased reliability and security through isolation of the VMs: failures or security gaps in one VM have no impact on the other virtual systems.
- more flexibility, as different operating systems and applications can be combined: Different software environments can be realized.
- lower energy consumption by dynamically adding or switching off VMs: resources can be allocated as required.
- cost savings by eliminating additional hardware: several systems can be implemented on one chip.
Embedded virtualization therefore allows smaller, cheaper and more flexible systems to be implemented.
Implementation of a virtual embedded system
There are a few things to consider during implementation. It is important to choose the right hypervisor and optimize the distribution of resources. Real-time requirements must also be taken into account. Adjustments often have to be made to the hypervisor or guest system.
We recommend a step-by-step approach for the introduction. In a pilot phase, virtualization is tested in a laboratory. This is followed by integration into existing systems. This allows risks to be minimized and the benefits of virtualization to be exploited.
The solutions from emtrion
Developer Kits
Specialist knowledge
Customized solutions