Sign In
Forgot Password?
Sign In | | Create Account

Embedded hypervisors

Colin Walls

Colin Walls

Posted Nov 11, 2013
0 Comments

Some technologies, it seems to me, should not really exist. They do, however, because they address a specific need. Typically, such technologies stretch something to make it perform in a way that was not originally intended. An example would be the fax machine. In a paper-based office environment, there was a frequent need to move documents from A to B. Initially, this resulted in the mail. But fax was an ingenious way to use phone lines to deliver a similar result. As soon as email became widespread, fax disappeared almost overnight.

The technology that I have in mind today is hypervisors, which are a software layer that enables multiple operating systems to be run simultaneously on a single hardware platform. They have been used for decades on mainframes, more recently on desktop computers, but are now beginning to be very relevant to embedded developers …

The first question to ask, when looking at the capabilities of any technology, is: why? What is the benefit of running multiple OSes on one piece of hardware, bearing in mind that this introduces significant complexity? The most important answer is security. A hypervisor provides a very strong layer of insulation and protection between the guest operating systems, ensuring that there is no possibility of one multi-threaded application interfering with another. A secondary, but still very significant, motivation to run multiple OSes is IP reuse. Imagine that there is some important software IP available for Linux that you want to use in your design. However, your device is real time, so an RTOS makes better sense. If multicore is not an option [as that is another way to run multiple OSes on one device], using a hypervisor is the way forward, so that you can run Linux and your RTOS.

Hypervisors broadly come in two flavors, which are imaginatively named Type 1 and Type 2. Type 1 hypervisors run on bare metal; Type 2 require an underlying host operating system. For embedded applications, Type 1 makes most sense for the majority of applications. I attended a conference session recently, where the speaker referred to Type 0, 1 and 2. Type 0 seemed to equate to what I would call Type 1 and I could not figure out the difference between his Type 1 and Type 2. Clearly, care is needed with the interpretation of terminology in this space.

I said that a hypervisor enables multiple OSes on a single hardware platform, implying that this meant single processor. In fact, many products support the use of multiple CPUs, with the hypervisor distributing execution time. This is a complex matter, which I may return to another day.

Mentor Graphics recently announced Mentor Embedded Hypervisor, which is designed specifically for embedded applications. Full details of the product may be found here. If you would like to learn more this product and hypervisors in general, you may wish to attend an online seminar which takes place tomorrow. A recording will be available after the live event.

Nucleus, Multicore, Embedded Hypervisor, ARM, multi-core, Multi-OS, hypervisor, mentor embedded hypervisor

More Blog Posts

About Colin Walls Follow on Twitter

Colin WallsI have over twenty-five years experience in the electronics industry, largely dedicated to embedded software. A frequent presenter at conferences and seminars and author of numerous technical articles and two books on embedded software, I am a member of the marketing team of the Mentor Graphics Embedded Systems Division, and am based in the UK. Away from work, I have a wide range of interests including photography and trying to point my two daughters in the right direction in life. Learn more about Colin, including his go-to karaoke song and the best parts of being British: http://go.mentor.com/3_acv Visit The Colin Walls Blog

More Posts by Colin Walls

Comments

No one has commented yet on this post. Be the first to comment below.

Add Your Comment

Please complete the following information to comment or sign in.

(Your email will not be published)

Archives

 
Online Chat