The most widely deployed mobile virtualization solution
Android shows every sign of taking the mobile handset market by storm. Google recently forecasted that up to 20 Android phones would be available before the end of this year. This is amazing progress for a platform first announced only 18 months ago. The benefits of the environment are evident. It’s not just an OS, but also a complete software development environment for mobile devices – and all for free. Android’s very success gives it momentum with rapid acceptance, and an open source environment driving a fast-growing ecosystem of application developers. So successful, in fact, that even Microsoft has identified it as a serious threat to their future.
However, the very success of Android presents its own set of challenges. The first issue is simply the size of the task – Android is a complete handset platform, combining a mobile operating system, GSM stack, and middleware, plus browser and application environment. The implementation of such a comprehensive package in a handset design would appear to demand an all-or-nothing approach to the development task; existing investments, innovations, and expertise built on current platforms must be abandoned in favor of an all-encompassing new technology. This would be problem enough, but the time-to-market pressures in this rapidly evolving market make the developer’s life even more difficult.
Additionally, although platform standardization has its benefits, it presents a corresponding problem – how can vendors create a competitive edge for their product? Indeed, much of the differentiation and branding of existing devices is locked up in the mobile OEM/mobile network operators’ (MNOs) proprietary legacy code. Unfortunately, this must all be ported to the new Android environment.
Legacy software may also demand porting to a new processor architecture, because of the higher-end hardware demanded by this more capable, and hence more demanding, mobile platform. Indeed, current Android designs are all dual-core with high-powered, dedicated application processors such as ARM11. Beyond the additional effort required to port to a new processor architecture, the resulting higher cost significantly restricts the ability of the mobile OEM to address the needs of the large segment at the lower end of the market.
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