The most widely deployed mobile virtualization solution
System virtualization, which enjoys immense popularity in the enterprise and personal computing spaces, is recently gaining significant interest in the embedded domain. Starting from a comparison of key characteristics of enterprise systems and embedded systems, we will examine the difference in motivation for the use of system virtual machines, and the resulting differences in the requirements for the technology. We find that these differences are quite substantial, and that virtualization is unable to meet the special requirements of embedded systems. Instead, more general operatingsystems technologies are required, which support virtualization as a special case. We argue that high-performance microkernels, specifically L4, are a technology that provides a good match for the requirements of next-generation embedded systems.
System virtualization has become a mainstream tool in the computing industry, as indicated by billion-dollar IPOs and sales of startup companies for hundreds of millions. The decoupling of virtual and physical computing platforms via system virtual machines (VMs) supports a variety of uses, of which the most popular ones are:
A main characteristic of such usage cases is that typically all VMs run the same OS (or, in the last scenario listed above, “similar” OSes in the sense that they provide roughly the same kinds of capabilities and similar abstraction levels). Also characteristic of those scenarios is that VMs communicate just like physical machines—via (virtual) network interfaces (including network file systems). This is consistent with the VM view, which is, by definition, like that of a physical machine.
The NirvanaPhone Concept Specification and Reference Architeture
Motorola Evoke Teardown
seL4: Formal Verification of an OS Kernel
Automatic Device Driver Synthesis with Termite
The Motorola Evoke QA4 - A Case Study in Mobile Virtualization
Android Migration at the Speed of Light
Virtualization and Componentization in Embedded Systems
Virtualization for Embedded Systems
Role of Virtualization in Embedded Systems
Your System is Secure? Prove it!
Towards Trustworthy Computing Systems: Taking Microkernels to the Next Level
Secure Embedded Systems Need Microkernels