Around 90 percent of the microprocessors sold commercially end up in embedded systems, often not even recognizable as computers. Cell phones, factory controls, microwave ovens, network switches, automobiles, printers, MP3 players, and singing greeting cards fall into this category. As such systems connect to the Internet and the trend toward ubiquitous computing accelerates, the market for the operating systems that run embedded processors is on the verge of exploding.
Click on graph for larger view.
Anticipating this boom, Microsoft Corp., Redmond, Wash., the 800-pound gorilla of the software world, entered the embedded operating systems (OSs) market about five years ago with WinCE. Less than two years ago, another contender stepped into the ring--Linux, an OS championed by the open-source software community. Microsoft and the Linux crowd are just beginning to wrest market share from companies such as Wind River Systems, OSE Systems, QNX Software Systems, and Green Hills Software; all cater to embedded system developers with specialized real-time OSs (RTOSs) and have long dominated the market [see table].
The competition affects more than the number of OSs sold. Whereas software companies charge a per-copy royalty for their OSs, plus fees for associated products and services, Linux is royalty free. No two Linux vendors have the same strategy for making money, but basically they all offer software for little or nothing, while also charging for associated goods and services such as development tools (compiler, debugger, simulator, and so on) and support. And whereas commercial OS companies bar all access to their source code, Linux vendors give programmers access to the source code, and let them add or subtract anything to or from it. An OS that is royalty free and open source is a shot fired across the bow of every company that sells embedded OSs.
A spreading market
Many embedded systems employ an RTOS, distinguished for its ability to respond correctly to a stimulus within a set period of time, usually a few microseconds. For a number of reasons, real-time operation is beyond the capabilities of OSs designed for computers, such as Microsoft Windows and NT, MacOS, and Unix [see "Defining Real-Time Operating Systems"].
Computer OSs such as Unix or Windows occupy between hundreds of kilobytes and hundreds of megabytes of memory, so large that they must reside on capacious hard drives. An RTOS may require as little as 10KB of memory and almost never more than 100KB. Any embedded OS must reside in non-volatile read-only memory (ROM). Depending on the system, it's the designer's choice to run the OS either from ROM or, if the OS must run faster, volatile random access memory (RAM). Whether ROM or RAM, all IC memory is relatively expensive. Since embedded systems tend to be highly cost-sensitive, memory costs, and therefore system costs, can be reduced when the OS is reduced to its absolute minimum size.
Now a confluence of factors, including denser IC memories and more powerful microprocessors, has expanded the market for embedded operating systems beyond traditional RTOSs.
As IC memories get denser, embedded system developers are finding that they can use scaled down versions of standard OSs that allow them to add more features to their systems. There are miniature versions of Linux or Windows that can fit in a few megabytes of memory. Using a larger OS and more IC memory than an RTOS would have required is more expensive, but system developers hope to compensate by cutting system and application development time.
Embedded microprocessors have also gotten more powerful, migrating from 8- to 16- to 32-bit devices. "We saw the fat part of the market in 32-bit applications," said Phil Shigo, lead product manager for Microsoft's embedded appliance platform group. "We can create a 32-bitbased system with memory and network interfaces [on a single chip] and drive it down to costs that would've been associated with 16-bit systems in the past."
Rice cookers, industrial robots, and other less demanding systems can make do with an 8-bit processor, but consumer electronics and communications equipment--the "fat part of the market"--benefit from 32-bit power and flexibility. Processors with 32-bit architectures can directly address a much larger memory space and so can handle much bigger data sets. Moreover, they will almost always have many more registers available for processing data. That means more data can be kept in the microprocessor itself, resulting in less frequent memory accesses than 8- or 16-bit devices, which saves clock cycles.
Still another factor is contributing to the rise of Windows and Linux in the embedded world. Many newer products that use embedded microprocessors, such as networked game consoles, set-top boxes, and cell phones, have either relaxed timing requirements or have no real-time requirements at all, so don't need an RTOS.