In the past few years hypervisor-based virtualization techniques have become especially important as embedded systems designs have become more connected and open to outside intrusion, involving the use of more than one processor and often requiring the use of more than one operating system.
In many consumer and mobile, networking and automotive applications, such techniques allow developers to easily partition their code based between two operating systems, one handling the low level real-time deterministic operations, the other the higher level human interface and Internet access functions. This separation also affords them some degree of security, allowing separation of company proprietary code from other company or open source code, as well as make it more difficult for malicious hackers to compromise the application. In multicore designs, virtualization allows developers to continue to write code using traditional sequential procedural methods rather than shift to new and more difficult programming paradigms based on concurrency and parallelism.
As a result, the number and variety of both hardware and software-based hypervisor-based VMMs have multiplied, as have the articles, white papers and webinars to help you use them. Of these, some of the recent ones which are my Editor's Top Picks are Wednesday, April 25, 2012:
“Pick the right multicore virtualization use case“, by Rob Oshana and Stuart Yoder
Virtualization Technology Under the Hood
Bringing Together Real-time and Virtualization
As helpful as such information may be, much more is needed says Markus Levy, president of the Multicore Association in “Managing the coming explosion of embedded multicore virtualization “. In this article he argues for an industry-wide effort to come up with a more coherent and flexible set of standardized mechanisms for deploying virtualization in embedded designs.
He is asking for participation in a newly formed working group chaired by Rajan Goyal of Cavium Networks and Surender Kumar of Nokia Siemens Networks. Its aim is to develop a framework for managing the varied virtualization options. This is important work, so contact him at or if you want to participate