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.
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
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
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
use eCos in the embedded space, with single-process
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!
Some of the products that appear on this site are from companies from which QuinStreet receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. QuinStreet does not include all companies or all types of products available in the marketplace.