Does anyone know if modern ARM designs include hardware virtualization extensions along the lines of vt-x and vt-d? It seems like a pure software virtualization approach along with full device emulation like vmware had to use in the dark days would be too heavy on a 1ghz/512mb platform. Maybe this is one of the drivers of the dual core arm adoption.
It's interesting that vmware is clear to say that they'd be guest agnostic - allowing whatever the user wanted to be emaulated. So while the use case here is android on android, I could see a real use for running a slimmed down but industry standard linux guest that could provide a standard dev/test environment for development. Sure the ui wouldn't be phone oriented, but plenty of LAMP installations run headless anyway. What other OS's have ARM support?
ARM's lower IPC and frequency may increase the time overhead of pure host-side virtualization or paravirtualization slower, but ARM is also a less convoluted architecture from a system software point of view, and may well have less state to virtualize, so the two may cancel each other out to some extent.
As for other operating systems with ARM support: iOS, several BSDs, RISC OS ( http://www.riscosopen.org/content/downloads ), Haiku ( http://www.haiku-os.org/ ), and all manner of RTOS and other embedded operating systems. Oh, and Windows CE, Windows Embedded Standard, Windows Embedded for Point of Service, Windows Phone 7, etc.
My N900 is dual booting Maemo and Android. It totally makes sense to have two operating systems on the same phone and I could certainly see many advantages to being able to quickly switch between the two.
Issues;
1) Battery life
2) Heavy CPU/Memory Usage
3) Decreased device life (due to heavy usage)
4) Potential of overheating -- heavy usage combined with no fans
5) Most smart phones don't support it
6) Most phones have small storage capacity
7) Who wants their company running all their stuff on their phone then having to switch to a different VM to use your phone?
Companies stop being cheap and just give the staff that need it a phone with remote wipe just encase. Problem solved.
I think this is brilliant... but only if engineered correctly. Why carry around two devices: personal and work? If you have the need for a work phone with remote wipe, you'd be stuck carrying around two different phones. I'd much rather have one physical device, but then a second virtual phone built-in with a different number, address book, and possibly apps. Battery life/CPU/memory usage should be the same as any smart phone. There are no moving parts in a phone, so you wouldn't have a problem with life or overheating.
I think that you're thinking about this in the wrong way... this is a first step towards a good goal: minimizing the stuff you have to carry in your pocket. Your personal phone would be the primary phone. But then a managed "work" phone would be the virtual one. Your company would be in complete control over the virtual phone, but you could still have your personal email, apps, etc...
This also could solve the problem of the employee who wants an iPhone, but their company has standardized on BlackBerries.
There is always the battery life issue but a hypervizor that recognized the limitations of a mobile phone (it will never run something like VMware Unity) it would certainly be able to perform pretty nicely. Looking forward to this.
How did they get two numbers at once to work? Does one just run off the SIM, and the other (presumably business) run off a VoIP/SIP thing? GSM only allows one number per SIM right?
It's interesting that vmware is clear to say that they'd be guest agnostic - allowing whatever the user wanted to be emaulated. So while the use case here is android on android, I could see a real use for running a slimmed down but industry standard linux guest that could provide a standard dev/test environment for development. Sure the ui wouldn't be phone oriented, but plenty of LAMP installations run headless anyway. What other OS's have ARM support?