04.22.08

Moto invest in VirtualLogix

Posted in Mobile at 10:37 am by Twm

Moto have invested in VirtualLogix (real time virtualisation company) .

A lot of people are wondering why the hell anyone would want to run two OSes on a mobile device. Something that the majority of the public don’t do on a desktop, let alone a portable.

I don’t think moto are seriously going to allow the user to switch between OSes on the fly (the royalties would be crippling).

Virtualisation has been in use in mobiles for a long time. But it’s trendy right now innt.

Many 3G solutions on the market are 2 chip – that is one chip for the RTOS(e.g nucleus) and one for the Applications OS (Symbian/Ms mobile/linux).
Now obviously 2 chips are more expensive than one, and so there is a BOM cost penalty. However the effort to port the signaling stack to 3 different OSes is really astronomical.

So one solution is to to virtualise the device. That is, presenting the ARM chip to two OSes, with a Hypervisor taking care of OS context switches and message passing.

This means you can :

  • use the same RTOS (which has gone through type approval) with any application OS you fancy *on the same chip*
  • have one team responsible for the whole 3G stack delivery to all phones in an organisation (no expensive ports)
  • isolate and test the signaling stack as a black box. (No need to worry about mixing 3g and application threads)
  • Create better separation so that you can produce 3G/EDGE versions
  • Increase security since the RTOS can have a different memory region and is closed to 3rd party applications
  • Ease RT performance – you can verify RTOS deterministically since you are not tweaking priorities of *all* threads in your system each time you add a new feature.

Bear in mind that before Montavista released its Real time patches to the linux kernel, this technique was the only way of doing single chip handsets on linux.

Although it may seem wasteful, there are some organisational reasons why virtulising systems can lead to far less complex code. The ability to characterise and verify a crucial part of a system is really important. I know that in a development team of a few 100 staff, a problem which disrupts the whole system such as the multimedia team bumping up a realtime thread does not have to take out important threads in the RT telephony stack. On an integrated system, your whole organisation has to be aware of which threads are allowed to be at what priority. RT verification is not a skill that every engineer has (no, really).Since signaling stacks are usually well characterised, it’s usually possible to state that the OS will never use more than 10% CPU for example. The latency of the RTOS then determines the minimum latency of the application OS with good predictability.

One other possible reason for virtualisation is compatibility. By this I mean having the freedom to deploy a new BC breaking version of the OS, or even a completely new OS, but retain compatibility with old applications (simply by including the old OS ROM on storage). With mobiles shipping with a few GB of NAND, storage space is becoming less of an issue (a typical phone ROM is ~128MB).

Leave a Comment

You must be logged in to post a comment.