I recently discussed hypervisor technology and how it is being applied in embedded systems. This coincided with Mentor Embedded’s announcement of Mentor Embedded Hypervisor. I described what a hypervisor is and something about how it works, but I did not address applications for hypervisors – where they are used and why.
The initial announcement that I quoted, was focused on using hypervisors in automotive applications, but that is far from the whole story …
Last week, a further announcement outlined some other specific vertical markets to which Mentor Embedded Hypervisor is targeted and optimized.
Hypervisors are not really a new technology – the first recognizable products were introduced on mainframe computers nearly 50 years ago. The incentives at that time were to make the very best use of costly resources. The expensive hardware needed to be used efficiently to be at all economic and downtime was expensive. Software investments needed to be protected, so facilitating seamless execution on new hardware was attractive. An interesting irony is that IBM’s early virtualization software was distributed in source form [initially with no support] and modified/enhanced by users; this was many years before the concept of open source was conceived.
There are broadly three application areas in which an embedded hypervisor finds its place:
In this context, there is the possibility for infotainment software, instrument cluster control and telematics to all be run on a single multicore chip. As a mixture of OSes is likely to be needed – RTOS for instrumentation and GPS and Linux for audio, for example – a hypervisor makes a lot of sense.
For industrial applications [factories, mines, power plants etc.] there is commonly a need for real time control [RTOS] and sophisticated networking [Linux]. In addition, in recent years there has been an increasing concern about cyber-attacks on or other introduction of malware into control systems. A hypervisor is the ideal way to separate systems and maintain security.
Medical systems introduce some new challenges. Typically there is a mixture of real-time [patient monitoring and treatment control] and non-real-time [data storage, networking and user interface] functionality, so a hypervisor initially looks attractive. The patient data confidentiality is critical, so the security side of a hypervisor becomes significant. Lastly, the ability to completely separate the parts of the system that require certification [normally the real time parts], make a hypervisor compelling.