The most widely deployed mobile virtualization solution
Virtualization refers to providing a software environment on which programs, including operating systems, can run as if on bare hardware (Figure 2.1). Such a software environment is called a virtual machine (VM). Such a VM is an efficient, isolated duplicate of the real machine [PG74].
The software layer that provides the VM environment is called the virtual-machine monitor (VMM), or hypervisor.
In order to maintain the illusion that is incorporated in a virtual machine, the VMM has three essential characteristics [PG74]:
All three characteristics are important, and contribute to making virtualization highly useful in practice. The first (similarity) ensures that software that runs on the real machine will run on the virtual machine and vice versa. The second (efficiency) ensures that virtualization is practicable from the performance point of view. The third (resource control) ensures that software cannot break out of the VM.
The term virtual machine is also frequently applied to language environments, such as the Java virtual machine. This is referred to as a process VM, while a VM that corresponds to actual hardware, and can execute complete operating systems, is called a system VM [SN05]. In this paper we only deal with system VMs.
Build Secure Smartphones for the Enterprise
Learn How to Build a More Secure Smartphone
Build Mass-Market Smartphones with Mobile Virtualization
SecureIT Mobile Government White Paper (Chinese Version)
SecureIT Mobile Enterprise (Chinese Version)
Energy Management
Build a Smartphone for the Mass-Market (Korean Version)
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