MSFT dominate Palm PC, part V That the operating system for these new consumer devices be real-time is essential. Unix, Windows NT, and others like them are not designed to respond instantaneously to an event because time--on a computational scale--is not of the essence for the tasks they have had to perform. But the time it takes the computer to react to an event can play havoc with the tasks given to real-time operating systems.
To amplify, if a user strikes a key on a computer running Windows 95, it does not matter whether the computer takes 5 or 500 microseconds to respond. As long as it responds within a reasonable time, it is doing its job. But in a control system with an RTOS, an incoming signal may require acknowledgment within 50 microseconds or else an essential process will shut down; it is important that the system respond within a fixed time. Such signaling is common in equipment ranging from telephones to factories, particularly in highly automated systems.
In the types of consumer devices that are being developed, the operating system has to be able to handle several functions in such a way that the time it takes to accomplish them is not arbitrary, but predictable, which is to say, deterministic. Further, some of the tasks tackled by these devices will have a higher priority than others, and it may be necessary to preempt one task to perform another, while other tasks must never be interrupted.
The juggling of several tasks simultaneously is done with multiple threads of computation, and these on occasion must be synchronized so that information is delivered when needed. On other occasions, task priorities may have to be assigned in such a way that an often executed but low-priority task does not interfere with a low-frequency but critical task--a phenomenon called priority inversion. The ability to satisfy these kinds of requirements is what makes an operating system real-time.
The design of real-time system software is a new commercial venture for Microsoft, all the trickier because the size of the operating system is in some ways key to minimizing hardware and battery requirements. The latest Windows CE (version 2.0) requires about 2 megabytes of ROM for a full-fledged system with graphical interface, and devices built using it typically have 8 megabytes. The Palm OS occupies much less space--about 300 kilobytes--so the Palm Pilot has only a 1MB ROM.
While operating systems do not drain batteries directly, their size seems to be a rough indicator of battery life. The smaller ones--like the Palm OS from 3Com and the proprietary OS used by Texas Instruments Inc., Dallas, in its Avigo--come in handhelds with a battery life of one to three months, while the battery life of Windows CE devices is mere hours. |