By Mark Hermeling
Here is an interesting article, continuing a discussion thats has been going on for a long time on mobile virtualization. It argues the case that a single mobile phone can run multiple operating systems using virtualization. A bit of googling will show that this is indeed already the case. However, there is a big caveat typically that you do not see exposed.
Mobile phones have two big constraints: processing power and battery power. Typically one operating systems is the 'phone operating system' and the other OS is more general purpose. With 'phone OS' I mean that the OS has to handle a lot of the time critical tasks, sometimes even to the level of passing data off to/from the signal processing side for communication with the antenna and the wireless network.
The signal processing side is very time sensitive and hence it is important that the time constraints are met and data is delivered/picked up on the right time. This makes it that typically the virtualization layer will have to be aware of this and it makes the solution not a general virtualization solution, but a highly device customized solution.