Linux Today: Linux News On Internet Time.

More on LinuxToday

Cygnus to Save Embedded Linux from Fragmentation?

Sep 30, 1999, 15:45 (4 Talkback[s])
(Other stories by John Wolley)


Full Text Search: The Key to Better Natural Language Queries for NoSQL in Node.js

by John Wolley, Linux Today Silicon Valley correspondent

EMBEDDED SYSTEMS CONFERENCE, San Jose, California, September 28, 1999 - Cygnus Solutions this week announced the EL/IX Application Programming Interface (API), billing it as a major step towards heading off the fragmentation of Linux in the embedded systems space. "Embedded Linux" is basically Linux put permanently onto a dedicated chipset instead of being loaded into a device's memory chips from a file system. Virtually all "sub-PC" devices work this way, and Linux has been making major gains in this market, thus far with no obvious signs of the dreaded "f-word"--fragmentation.

What Fragmentation?
Cygnus founder, Michael Tiemann, posed the problem of embedded Linux fragmenting this way: "Why do you think there are more than 100 commercial RTOS's (real-time operating systems), plus countless "roll your own" solutions in the embedded space, while the server/desktop PC world supports only a small number of OS's?"

The answer, according to Tiemann, lies in the same principles that cause the "best" solutions to win out in an open source development project like the Linux kernel; but in the embedded space, the "diversity" inherent in the requirements of various embedded devices that are as different as cell phones and refrigerators means that what is "best" is different for each device. Thus if you try to make Linux "scale down" into these devices, where the design imperative is to use the least hardware resources possible, if you force Linux into the device you will quickly end up with different device projects ripping different pieces of code out of the common GNU/Linux code base--and then adding on different device-specific code extensions in order to optimize performance.

Dividing the "Embedded Space"
What Tiemann is saying is easier to grasp if we understand exactly what defines the "embedded space" that he's talking about. At what point in scaling Linux down does the minimal-resource design imperative make fragmentation inevitable? Tiemann's answer is very simple: "Linux is the answer down to n=2 processes." When the software needed to run a device requires only one process, even if that process requires multiple threads, you would end up with a fragmented "flavor" of Linux that would make the different versions of Unix look like identical twins by comparison.

So Tiemann is saying that there is a big part of the embedded space where Linux as we know it will do just fine. Without any risk of fragmentation, Linux will scale down into all those cell phones, digital cameras, personal digital assistants, and set-top boxes that are complex enough to need software with two or more processes to run them. And with consumer electronics manufacturers cramming more and more features into devices, the suitable-for-Linux category may soon include most of the devices that most of us think of when we hear the term, "embedded systems".

Bill Gatliff, a senior design engineer with Komatsu Mining Systems, Inc., in Peoria Illinois, agrees with Tiemann's delineation of the watershed between single- and multi-process devices. Gatliff has to deal with the whole range on the Komatsu "super-trucks"--wheels 37 feet in diameter, a cargo bed five stories high when raised to dump its load. These trucks use hundreds of single-process devices to collect real-time data from the truck's complex systems and either run a local feedback loop or feed it to multi-process controllers that make more complex, multi-variable decisions. Gatliff characterized the overall system as being analogous to the autonomic nervous system that maintains homeostasis in a living organism.

What is the Cygnus Solution?
Tiemann makes two key points about this split of the embedded systems market into single- and multi-process devices. The first is that there is a huge market for the single-process devices out there that most of us outside the embedded systems industry are hardly aware of--the microcontrollers we know something about in automotive systems are just the tip of the iceberg. The second point that Tiemann makes--far more important in terms of the solutions that Cygnus is offering--is that many single-process devices will tend to evolve into multi-process devices--a cell phone that today performs very well with only one process running it is going to need more horsepower in its controlling software if it is beefed up to provide internet access as well.

In November, 1998, Cygnus released eCos (the Embedded Cygnus Operating System), an open source, royalty-free RTOS, tightly integrated with its GNUPro tools, that is specifically optimized to work best with single-process devices. The EL/IX API can be used with either eCos or Linux, employing the same GNUPro tools for development. As Tiemann describes it, "EL/IX extends the Linux API down to eCos", by adding real-time control functions that are absent in Linux. The EL/IX API essentially provides a "compatibility layer", or hardware abstraction layer, for standard Linux to drive different devices.

So the combination of eCos, EL/IX, and Linux makes it possible for embedded system developers to:

  • use standard Linux in the embedded space, with multi-process devices
  • use eCos in the embedded space, with single-process devices
  • move back and forth between single- and multi-process designs without rewriting code
  • develop single-process eCos applications on Linux and then move the code to eCos on the target device

Will it Save Embedded Linux?
So, will the Cygnus Solutions solution succeed in unifying Linux in the embedded computing arena? To a large degree, the answer may depend on how some of the other folks who are pushing the envelope with Linux in this area see eCos and EL/IX.

Caldera spin-off Lineo is deeply involved in embedded Linux work with Motorola. MontaVista, maker of Hard Hat Linux, is far along in work with Ziatech on an embedded Linux development platform. NetGem is offering an embedded Linux set-top box that combines TV and internet access. Tiemann believes that, once they understand the concepts behind eCos and EL/IX, these folks will embrace the Cygnus products. We should know shortly--they all had representatives in the audience when Tiemann gave his presentation at the Embedded Systems Conference Tuesday.

Gatliff, of Komatsu Mining, is enthusiastic about the Cygnus products. He particularly likes the ability to do initial development on Linux, moving the code to eCos on the embedded devices on the monster trucks only at the last stage of testing. "After all", he quips, "you can't just put a monster truck on an engineer's desk!" Gatliff will be heading back to his desk after the Embedded Systems Conference, and a little Californian sight-seeing, to see if he can make the Cygnus "rubber hit the road--in a really big way!

Related Stories: