Linux 2.6: A Breakthrough for Embedded Systems
Linux 2.6 introduces many new features that make it an excellent operating system for embedded computing. Among these new features are enhanced real-time performance, easier porting to new computers, support for large memory models, support for microcontrollers, and an improved I/O system.
The embedded computing universe includes computers of all sizes, from tiny portable devices, like wristwatch cameras, to systems having thousands of nodes distributed worldwide, as is the case with telecommunications switches. Embedded systems can be simple enough to require only small microcontrollers, or they may use massive parallel processors with prodigious amounts of memory and computing power. Linux 2.6 has been enhanced to provide support across the spectrum of these needs. Embedded systems often need to reliably meet timing constraints. Although Linux 2.6 is not yet a true real-time operating system, it does have improvements that make it a worthier platform when responsiveness is desirable. Three significant improvements are preemption points in the kernel, an efficient scheduler, and improved synchronization.
Until now, it has been necessary to acquire special patches to get improved responsiveness in Linux. Often this meant buying a special Linux implementation from a vendor whose patches improved interrupt performance and scheduling latency. Now 2.6 contains these improvements in the mainstream kernel, so it is not necessary to get a special configuration.
Linux 2.6 provides several features that help overall responsiveness. Two changes are worth noting. First, the operating system now uses a preemptible kernel. Second, the algorithm used for scheduling has been made more efficient.
