Run 2 OS Simultaneously on ARM (OMAP4) with Codezero Embedded Hypervisor
B Labs, a company specializing in ARM Virtualization, was at ARM Techcon 2011 showcasing Codezero, their Embedded Hypervisor to run multiple Linux OS such as Android and Chrome OS on ARM processors.
The main purpose of running 2 operating systems is to separate home and enterprise operating systems in mobile devices so that enterprise data is safe.
Charbax (ARMDevices.net) interviewed Bahadir Baldan, founder of B Labs, and showed a demo running 2 Android instances and another running Android and Linux in pandaboard.
The overhead is 10 to 15% according to B Labs, so the performance hit is minimal. They have already managed to run 4 OS on quad core processors with good performance. They are not able to run Windows operating systems (e.g. Windows Mobile 7.5/ Windows 8) yet, because Cortex A9 processors lack virtualization extensions. This will however be feasible with Cortex A15 processors as binary virtualization will be available. B Labs expects mobile virtualization to take off in 2013, as vdcresearch does:
Virtualization in embedded and mobile systems will increase
Driven by hardware bill of materials savings and reduced concerns regarding additional run-time execution latencies and costs, operating system virtualization will provide increased growth opportunities, and therefore will continue to be a significant focus for many suppliers.
Codezero is relatively small with about 10K lines of C code and is 100KB binary size.
If you have an OMAP4 pandaboard, you can try and/or develop for it by following the getting started instructions, it will show you how to install the hypervisor toolkit, build codezero for pandaboard and start development including how to port 3rd party software and using codezero API (12 System Calls).