Page 1 of 1
The embedded operating system world is no stranger to heated debate. Over the years players in the embedded OS market have fought vigorously on a multitude of fronts and issues. Perhaps the most significant debate revolves around the question of whether or not open source OSes—Linux primarily—are appropriate for hard real-time applications.
The character of that debate has evolved considerably compared to when it went into full swing more than five years ago. Traditional RTOS vendors have long since given up the stance that Linux is a fad with no real future in embedded systems. Meanwhile, most open source proponents have come to realize that Linux isn’t about to push traditional RTOSes out of the market any time soon. Those “winner-take-all” viewpoints have softened while new initiatives and solutions have emerged designed to enable Linux and RTOSes to work together.
For their part, military system designers have begun to follow these debates closely. Now that many within the defense community have warmed to the idea of using Linux, it’s important for them to understand the tradeoffs between the open source OS versus traditional RTOSes. Articles in this section look at those tradeoffs from a variety of angles.
Linux in a Padded Cell
Exemplifying the trend toward working with Linux, Green Hills Software is set to roll out an extension to the company’s INTEGRITY operating system that enables legacy applications and traditional operating systems, such as Linux, into high-security and high-reliability applications. INTEGRITY PC (Padded Cell) partitions a system into multiple “virtual computers,” each of which can host its own guest operating system (Figure 1). For its part, Boeing is making use of INTEGRITY PC to blend Linux-based software into their secure military radios. It freed the Boeing designers from having to port Linux code to a secure operating system and lets them easily incorporate future updates to the Linux-based code.
Essentially INTEGRITY PC functions as a padded cell that prevents Linux and other insecure and unreliable software from harming the rest of a system while also limiting the harm it can do to itself. An impenetrable wall around each virtual computer ensures that errant, insecure or malicious code can never compromise the security or reliability of the rest of the system—either inadvertently or via a hostile attack.
Among the loudest voices speaking in favor of Linux for real-time embedded applications is LynuxWorks. A long-time player in the real-time operating system market, the company was an early convert to the Linux camp. Its article “Military Sets Its Sights on Embedded Linux” on p.42 in this section, sheds light on why Linux is appropriate for military apps in particular. Because Linux is based on open standards, military programs cannot be held hostage by a single proprietary OS vendor. The story also examines how using an open standards-based OS helps decrease cost. Data is presented from the Open Systems Joint Task Force (OSJTF), the working group within the Department of Defense (DoD) responsible for accelerating the adoption of open systems in the military.
Soft vs. Hard Real-Time
Meanwhile, Wind River Systems ranks as the strongest voice against Linux. Wind River holds firm in its convictions that Linux doesn’t cut it for hard real-time and mission-critical applications. Wind River’s article “Marrying the Right OS to the Right Job” on p.30 in this section explains that Linux has yet to decisively earn its stripes as a hard real-time operating system, even with kernel-hardening modifications.
According to Wind River a hard real-time OS must have a pre-emptible kernel, low interrupt response latency, rigorous determinism and be able to prioritize tasks unerringly. Linux is better for “soft” real-time functions such as managing the I/O throughput in a networked environment and the graphical display of complex data. For non real-time apps, even Wind River has softened its anti-Linux position, rolling out its first Linux-based platform earlier this month. The platform targets the telecom market and is based on Linux 2.6 with Carrier Grade Linux (CGL) 2.01 specifications.
Taking more of a middle-ground stance on the open source vs. hard real-time question, Enea Embedded Technology sees Linux and RTOSes as complementary to one another. Its article “Message Passing Eases Meld of Linux with RTOS” on p.58 compares how RTOSes provide true real-time, built-in high-availability features as well as advanced support for distributed systems, and makes the most efficient use of system resources and CPU capacity. Linux, on the other hand, provides an ideal operating environment for many high-level applications and management services that RTOSes don’t do or don’t do well.
Rounding out the discussion, Express Logic presents a wealth of market data in its article “RTOSes Balance Performance with Ease of Use” on p.35, to illustrate the folly in looking only at an embedded OSes’ performance and ignoring other critical factors. The article argues that application developers need to look beyond the real-time performance for other factors that will make an RTOS best for their application needs. The OS choice should revolve around meeting all the deadlines—development, time-to-market, budgetary and real-time performance—and not just the interrupt response time deadline.
While the reason for choosing an RTOS instead of Linux may primarily rest on hard real-time performance, the OS’s ability to provide safety-critical or mission-critical operation usually goes hand in hand. Over the past few years, all the mainstream OS vendors have either certified or are in the process of achieving DO-178B certification, for example. For its part, Aonix is one of the few vendors to roll out a kernel specifically aimed at safety-critical applications. Its SmartKernel product provides time and memory partitioning to support multiple safety levels.
The SmartKernel core contains the Enabler, an extremely small and fast operating-system enabling layer that provides only the primitive features necessary to implement a language-specific operating system or full general-purpose OS (Figure 2). Because of its small size, the SmartKernel core is easily certified to both safety and security standards. Aonix released an Ada95-supported version of SmartKernel earlier this year, and plans to release both C/C++ and Java-based versions in the next few months.
Hard Real-Time Linux
While opinions vary as to whether there’s a place for Linux as a true hard real-time alternative, some Linux true believers remain firm that Linux can do it all. Along those lines, MontaVista Software last month launched an open source project to bring hard real-time performance to standard, native Linux, and has seeded a fledgling “Open Source Real-Time Linux Project” with a reference implementation claimed to improve real-time responsiveness of the 2.6.9rc3 Linux kernel by orders of magnitude. In particular, MontaVista hopes to bring real-time Linux to two critical target markets: mobile handsets and telecommunications equipment.
For now, the reference implementation contributed by MontaVista to the project consists of patches to the standard “kernel.org 2.6.9rc3” kernel intended to support real-time performance on x86 and ARM targets—x86 is available now; ARM is coming soon. MontaVista expects to contribute support for other architectures over time. The company reports that the kernel is fully operable, although there’s still work to be done around reliability and performance tuning.
San Diego, CA.
Enea Embedded Technology
San Diego, CA.
San Diego, CA.
Green Hills Software
Santa Barbara, CA.
San Jose, CA.
Wind River Systems