Monday, 2 July 2012

MOBILE MS?

Dick Pountain (10/12/1999 11:17am): Idealog 65
                
So Microsoft has finally decided to take the mobile phone/computer market seriously, as announced via its new linkup with Ericsson (which the Guardian headlined with typical imprecision and hysteria as the 'death of the PC'). Being forced to perform the company's second tyre-smoking, eyeball-popping strategic U-turn in 5 years might be construed by some as evidence of weakness - that Bill is losing the plot - but one could just as well see it as evidence that at least Microsoft remains capable of recognizing mistakes and rectifying them, rather than succumbing to big-company sclerosis. If only it displayed the same flexibility and courage in technical matters as it does in the strategic marketing arena...

The Ericsson announcement came only a week or so after the US Department of Justice's decision that Microsoft is indeed a monopoly which abuses its grip on the marketplace. This judgement left me feeling quite ambivalent, because the truth is, for all that I devote a lot of space in this column to criticising Microsoft's operating system products, I remain a Windows user and am not in the least sympathetic to those commercial opponents who hope to profit from the ruling. I've opined here before that, BeOS apart (which has a negligible following) none of the alternatives to Windows are frankly any improvement, and some like Linux represent a real step backwards. I guess that my real beef with Microsoft has always been that it doesn't exploit its monopoly hard enough: the company is in one of those unique historical positions that allows it to do exactly what it likes and set standards (like the people, say, who first chose the railway track gauge) but the standards it sets are just too cautious, poorly conceived and fudged.

If Microsoft really does intend to get serious about telecomms and mobile computing then these shortcomings are going to be ruthlessly revealed, because the fact is that telecomms operating systems are a job for the grown ups, and the state of the current art is so far beyond what Microsoft appears capable of that it may be letting itself in for a lot of heartache - its current Windows CE offering just isn't even in the ballpark. Gates himself obviously recognizes the shallowness of CE, because he is rumoured to regard Psion and the Symbian consortium as the most serious strategic threat to his company. That's because EPOC32 (the Psion-designed operating system that it donated to the Symbian deal) is a proper telecomms OS designed from the ground up for mobile operations, while Gates knows full well that CE is just another fudge, trimmed from the top down out of Windows.

A mobile computer operating system has a much tougher job than any desktop OS, because it works in a more hostile environment. For starters it runs in a small device with relatively little memory and mass storage, and a limited power supply, and then it needs to run for weeks and months without rebooting or major maintenance. The mobile market has a completely different interpretation of the trade-off between reliability and availability. A reliable system is one that performs its specified task correctly (e.g. a calculator should always deliver the right answers) while an available system is one that is always ready for immediate use: as so often in the world of engineering these two qualities are to some extent mutually exclusive and must be traded off against one another. It might help to think about some familiar real-world systems. A Formula 1 racing car, for example, needs to be very reliable to win races but is not very available because it spends far more time in the workshop than it ever does on the track. An aeroplane fly-by-wire control system on the other hand requires maximum availability, as the pilot cannot do without controls even for a second, while reliability is achieved by duplication and redundancy.

With telecommunications equipment availability generally takes precedence over reliability as withdrawal of service will not be tolerated by users whereas a bit of buzzing might be, but cost is also an important factor. Hence mechanisms like hot-swapping of hardware components and hot-restarting of software are employed to maximize availability in the face of only moderately reliable, cheap components. This means that the requirements for a mobile OS are quite different from those for a desktop OS. At a minimum it needs to be:

* Real-time, to handle streams of time-critical multimedia data.
* Multithreaded, to handle many simultaneous data streams while doing other adminstrative tasks.
* Fault tolerant so it can recover from hardware and software errors by 'hot restarting' without a reboot.
* Power conserving.
* Scalable, so different versions can run on anything from a cellphone to a multiprocessor media server.
* Communication enabled, with location-transparent messaging between remote processes.
* Modular, so you can add and remove modules to support new devices.
* Dynamically reconfigurable so you can add such new modules while the OS is running, and therefore hot-swap devices.

These criteria can be met, and there are already a number of operating systems out there that meet most of them - for example Chorus, Lucent's Inferno, QNX and Symbian's EPOC32 - but they can only be met by designing certain abilities into the system at the lowest level. For example all those operating systems are microkernel based and have a fast communications engine built into their innermost ring. You cannot just bolt such properties on top of a mountain of legacy code whose fundamental assumption is that the OS can interrupt anything whenever it feels like it.

No comments:

Post a Comment

ARTY FACTS

Dick Pountain /Idealog 363/ 05 Oct 2024 03:05 When I’m not writing this column, which let’s face it is most of the time, I perform a variety...