|
|
Linux lookalike RTOS passes "Quake test"
2001-02-15
In the early days of the IBM PC era, when you wanted to know if a system was "IBM PC compatible", you'd try running Lotus Flight Simulator on it. That program exercised the system's hardware and software so thoroughly, and took enough liberties with undocumented and inadvisable functions (like writing directly to video RAM), that if Flight Simulator ran on the system you could pretty much count on it...
running any IBM PC compatible program. Those days are long gone, and the new rage -- at least in the embedded OS market -- seems to have become Linux. Recently at LinuxWorld in New York, LynuxWorks offered a sneak preview of a capability the company promised a little over a year ago -- application binary interface compatibility of the company's proprietary real-time operating system (RTOS), LynxOS, with Linux. Well, whether or not LynxOS is truly ABI compatible with Linux remains to be seen -- but at least it appeared to pass the "Quake Test." The "Quake demo" consisted of running identical binary images of Quake on two side-by-side systems -- one running on top of Linux, and the other on the LynxOS RTOS. The intent of the demo, of course, is to raise the possibility that other Linux software might also run unmodified on LynxOS. For LynuxWorks, which is currently in its pre-IPO "quiet period," the possibility of offering such a product to the numerous (and well funded) telecom, industrial, medical, and military projects that require traditional RTOS reliability and performance -- but who want to leverage the growing popularity and support for Linux -- may well be akin to the quest for the RTOS holy grail. The Quake demo Here's what LynuxWorks showed in their demo . . .
First, according to LynuxWorks' chairman Inder Singh, the ABI-compatibility demo marks a significant industry milestone. "To my knowledge," says Singh, "this is the first time anyone has demonstrated 'application binary compatibility' with Linux." Traditional RTOSes were designed for mission critical applications, such as process control, where the success of the system depends on never missing a defined deadline. Typical examples might include petroleum refineries or nuclear reactors, where not shutting off a valve could lead to a deadly explosion, or machine control, where not responding to timing constraints could have costly or even dangerous consequences. In an RTOS, characteristics like worst case response time are very important. RTOSes also tend to be judged on how quickly they respond to internal and external stimuli. However, the single issue of never missing a deadline is considered most important. Although Linux is generally fast enough in performance and provides acceptable worst-case response times for most desktop and server applications, it is not an RTOS and runs into trouble when "hard real-time performance" is required. In those cases, something else must be done. Several common approaches to enhancing the real-time performance of Linux are . . .
To date, the best that LynxOS and other commercial RTOSes (like QNX) could do was to offer application program interface (API) compatibility. This requires that Linux applications be recompiled to run on LynxOS (or QNX). LynxOS' ABI compatibility takes this interoperability an important step further, to where an unmodified Linux program's binary image can run directly on LynxOS. For LynuxWorks, which sells both standard Linux and the LynxOS RTOS, the result makes a compelling sales pitch: "if you want real Linux, we'll give you Linux. If you want a hard real-time OS that runs Linux software, we'll give you LynxOS." One small step for an RTOS . . . What LynuxWorks has just demonstrated in terms of Linux ABI compatibility ("the Quake test"), though significant, is but a small step along the path. Providing substantial compatibility with an OS as complex and quickly-evolving as Linux will surely prove a daunting, ongoing challenge. For example, the ability to take advantage of standard Linux device drivers (which often must be linked directly into the Linux kernel) is one of the primary concerns expressed by developers of real-time and embedded systems and devices. Will LynxOS be able to take advantage of unmodified Linux device drivers, GPL or otherwise? Still, this first LynuxWorks demo of Linux ABI compatibility may well signify the beginning of a process that eventually redefines the entire embedded OS landscape. The move toward Linux as the standard for embedded and real-time OS compatibility is important, in a market where a lack of standards has led to a host of incompatible offerings from a multitude of vendors. Choice and competition are always important in advancing the state of technologies, and in providing satisfactory solutions to customers. The embedded OS market has never lacked either of these attributes (choice and competition) -- but what has, until now, been sorely lacking has been the standards through which multiple sources of compatible software could be available. Then there's the Linux perspective. If LynxOS can give Linux a run for the money in specific embedded applications of sufficient volume, it will encourage an evolution of the capabilities of Linux in the direction of improved embedded and real-time capabilities. That, of course, would be a big win for Linux. When will the "Linux ABI-compatible" version of LynxOS be available as a finished product? "Soon," says Singh. How soon? "In the next release of LynxOS." Related stories:
|