Open-Source-Systeme

Embedded Systems im Sog der Linux-Welle

12.05.2000
Während alle Welt noch vom Linux-Boom im Server-Markt spricht, erfährt das freie Betriebssystems gerade unauffällig einen gewaltigen Zuspruch im Segment der integrierten mikroelektronischen Steuerungen.Von Jürgen Quade*

Es waren nicht nur bekannte Unternehmen, die sich dieses Jahr zur Embedded-Systems-Konferenz in Chikago einfanden. Neben IBM, HP, Lynx, Motorola, QNX und Wind River beispielsweise waren erstmals auch Vertreter aus der Linux-Welt anwesend: Lineo, Monta Vista, Red Hat und Troll Tech. Denn die Gründung des Embedded Linux Consortium, kurz ELC, war angekündigt (vgl. CW 13/00, S. 26). Und sie kommt nicht zu früh. Ob Telefone, Industriesteuerungen, Laserdrucker, Personal Digital Assistants oder Autoradios: Viele Geräte sind bereits "powered by Linux", Tendenz stark steigend.

Linus Torvalds spricht gar von einem explosionsartigen Interesse, Linux in "spezialisierten eingebetteten Anwendungen" einzusetzen. So ist es das Ziel der Vereinigung, das Vordringen von Linux auch im Bereich der so genannten integrierten mikroelektronischen Steuerungen - den eingebetteten Systemen - zu fördern. Linux soll hier die erste Wahl beim Betriebssystem werden.

Dazu will das ELC auf zwei Ebenen aktiv werden. Auf der Marketing-Ebene wird die Gruppe Pressearbeit leisten, Messeteilnahmen organisieren, Internet-Präsenz zeigen und Informationsmaterial verteilen. Auf der technischen Ebene soll der Open-Source-Entwicklungsprozess gefördert werden. An Geld dafür wird es nicht mangeln. Noch am Gründungstag wurden von den 51 Mitgliedern Mittel in sechsstelliger Höhe zur Verfügung gestellt. Inzwischen haben sich weitere 41 Firmen in die Aufnahmeliste eingetragen.

Die Motivation der einzelnen Firmen, die Verbreitung von Linux im Bereich der eingebetteten Systeme zu fördern, ist unterschiedlich. Auf der einen Seite spielt sicher der Wunsch eine Rolle, Know-how aufzubauen und sich rechtzeitig Marktanteile zu sichern. Auf der anderen Seite sehen viele Mitglieder ein freies Betriebssystem gegenüber einem Microsoft-Betriebssystem wohl als das kleinere Übel. Denn aggressiv versucht Bill Gates hier Windows CE eine beherrschende Rolle zu verschaffen.

Die Idee, ein Standard-Betriebssystem in Steuerungen einzusetzen, war noch bis vor kurzem ein Wunschtraum. Zu groß sind die Anforderungen an die notwendigen Ressourcen, an Stabilität, Skalierbarkeit und oftmals noch an das Echtzeitverhalten des Betriebssystems. Erst das modulare Design von Linux ermöglicht den Betrieb ohne Festplatte, Tastatur und Monitor. Hinzu kommt die Unterstützung unterschiedlichster Prozessoren mit und mittlerweile selbst ohne Memory Management Unit (MMU).

Damit läuft Linux nicht nur auf der bekannten Intel-Plattform - unabhängig davon, ob der Formfaktor PC104, Compact-PCI oder SBC heißt -, sondern beispielsweise auch auf Power-PCs, Motorola-Prozessoren wie dem Cold Fire, Hitachi SH3, ARM, Mips, Sparc, Alpha und - seit kurzem - dem Net-Arm. Lediglich vor 8-Bit-Prozessoren macht die Portierbarkeit halt.

Vorteile für kleine und große FirmenBei Linux bewegt sich der Ressourcenhunger in vertretbaren Dimensionen. Kommt es hart auf hart, ist es möglich, ein Linux-System mit 256 KB ROM und 512 KB RAM aufzubauen. Standardmäßig sollte die Hardware jedoch eher mit 2 MB ROM und 4 MB RAM ausgerüstet sein.

Für die Firmen sind neben der Stabilität von Linux das Einsparungspotenzial bei Lizenzgebühren und die Möglichkeit, einen preiswerten PC als Entwicklungs- und Zielrechner gleichzeitig einzusetzen, entscheidend. Ein weiterer Vorteil, insbesondere für kleine und mittelständische Unternehmen, sind Einsparungen von mehreren zigtausend Mark, die in diesem Bereich traditionell für eine Entwicklungsumgebung ausgegeben werden. Zudem steht auch ohne "Buy-out" der komplette Quellcode zur Verfügung.

Für große Firmen sind vor allem aber technische Gründe ausschlaggebend: Mit Linux stehen den Entwicklern eine Unzahl von Treibern und Applikationen zur Verfügung, die den Anschluss eines Linux-gesteuerten Kühlschranks an das Internet zum Kinderspiel werden lassen.

Technisch gesehen gilt allerdings insbesondere die mangelnde Echtzeitfähigkeit des Standard-Betriebssystems als größtes Einsatzhindernis. Auch wenn Linux einige Echtzeiteigenschaften von Haus aus mitbringt, lassen sich mit dem Standardkernel zeitlich anspruchsvolle Applikationen nicht zufriedenstellend realisieren. Prioritätengesteuertes Scheduling oder Memory-Locking reichen für so genannte harte Echtzeitsysteme nicht aus.

Doch auch diese Klientel braucht auf die Vorteile eines Standard-Betriebssystems nicht zu verzichten. Gleich mehrere Gruppen bieten auf unterschiedlichen Ansätzen basierende Erweiterungen an, die eine garantierte Reaktion im Mikrosekundenbereich ermöglichen (siehe Kasten "Echtzeit-Linux").

Von der Öffentlichkeit weitgehend unbemerkt, wird Linux schon seit 1997 in mikroelektronischen Steuerungen eingesetzt und vermarktet. Erste Beachtung fand sein Einsatz als Betriebssystem für PDAs: Compaq demonstrierte diese Technologie in Form der Studie "Itsy". Eine Entwicklergruppe um Kenneth Albanowski und Jeff Dionne portierte Linux auf einen Palm Pilot von 3Com. Auf der letzten CeBIT schließlich fand "Yopy", ein Linux-PDA der Firma Samsung, große Beachtung. Er soll noch diesen Monat in den USA in den Verkauf kommen.

Trotz seines erkennbaren Potenzials versuchten Hard- und Softwarehersteller zunächst, die Forderung der Entwickler nach besserer Unterstützung für Linux zu überhören. Allerdings ohne Erfolg: Die Firma M-Systems beispielsweise unterstützt mittlerweile die Linux-Entwickler heute mit allen notwendigen Informationen, damit diese die hauseigenen Disc-on-Chip-(DOC-)Flash-Speicher einsetzen. Flash-Speicher sind eine Schlüsselkomponente, um Linux in einem eingebetteten System verwenden zu können. Die erforderliche Treibersoftware gilt als Kernkompetenz der herstellenden Unternehmen. Noch 1997 hatte M-Systems Anfragen bezüglich Unterstützung freundlich abgewiesen. Konsequenz damals: Linux-Entwickler verbauten die ohne spezielle Treibersoftware verwendbaren Flash-Speicher der Konkurrenz.

M-Systems ist kein Einzelfall. Heute sichern diverse Hersteller Linux-Kompatibilität nicht nur zu, sondern liefern oft die benötigte Software gleich mit. Einen Schritt weiter gehen Firmen, die sich auf den Linux-Markt spezialisieren und nur noch für das Betriebssystem mit dem Pinguin-Maskottchen produzieren: So kosten ihre vernetzbaren Hardwaremodule in der Größe eines Simm-Moduls 180 Dollar. Wem das noch zu viel ist, der lädt sich aus dem Internet die kostenlosen Schaltpläne für ein auf dem ARM-Prozessor basierendes Linux-Board herunter.

Wie beim Open-Source-Modell generell üblich, ist auch im Bereich der eingebetteten Systeme das Internet die Anlaufstelle Nummer eins. Mehrere Portal-Sites (siehe Kasten "Online-Quellen") erleichtern dabei den Einstieg. Neben technologischen Lösungsbeschreibungen finden sich diverse Linux-Distributionen zum Downloaden, die speziell für den Einsatz im Embedded-Bereich zusammengestellt wurden.

Marktführer dürfte gegenwärtig die Firma Lineo sein. Was Red Hat, Suse oder Debian für Server und Desktops sind, das ist die Firma Lineo mit ihrem System "Embeddix" für eingebettete Systeme. Bis ins Detail lässt sich die erforderliche Funktionalität des Linux-Systems des von Caldera gegründeten und von Motorola stark unterstützten Unternehmens konfigurieren und auf Tastendruck generieren. Neben den nicht kommerziell orientierten Distributionen wie dem Linux Router Project versuchen Lynx mit "Blue Cat" und Monta Vista mit "Hard Hat Linux" Marktanteile zu gewinnen.

Auch Rick Lehrbaum, Initiator des ELC und erfolgreicher Gründer des PC104-Konsortiums, treibt der Erfolg von Linux in eingebetteten Systemen um: Am 22. Juni 2000 wird es in San José, Kalifornien, eine Konferenz mit Ausstellung zum Thema geben. Auch Linus Torvalds soll kommen: Schließlich arbeitet er bei Transmeta an einem Mobile-Linux.

* Jürgen Quade ist Professor für technische Datenverarbeitung an der Fachhochschule Niederrhein, Krefeld, Fachbereich Elektrotechnik und Informatik.

Echtzeit-LinuxMehrere Firmen und Institute versuchen erfolgreich, den Einsatz von Linux in echtzeitkritischen Anwendungen zu ermöglichen. Die bekanntesten Vertreter sollen im Folgenden kurz vorgestellt werden.

Victor Yodaiken von der Universität New Mexico lässt Linux als Task eines eigenen, einfachen Echtzeit-Kernels ablaufen. Bei diesem Verfahren sind die Eingriffe im Standard-Kernel gering, und die Echtzeit-Tasks weisen garantierte Antwortzeiten im Mikrosekundenbereich auf. Yodaiken hält sein inzwischen patentiertes Verfahren RT-Linux streng Posix-konform.

Basierend auf Yodaikens Konzept hat sich RTAI ausgebildet. Paolo Mantegazza bietet mit diesem Real Time Application Interface ein an die Problemstellung angepasstes Interface an. RTAI hat aber noch einen weiteren Vorteil: Realtime-Applikationen können im User-Space ablaufen und führen damit zu mehr Sicherheit.

Während mit RT-Linux und RTAI Dienste des Standard-Betriebssystems weiterhin nicht realzeitfähig sind, bieten zwei andere Konzepte garantierte Antwortzeiten im Millisekundenbereich: der Resource-Kernel (Linux/RK) der Carneggie Mellon University und die Realzeiterweiterung "Kurt" der University of Kansas, Information and Telecommunication Technology Center. Bei diesen Ansätzen lassen sich Rechenleistungs-, Netzwerk- und Festplattenressourcen für eine Realzeitapplikation reservieren und entsprechende Bandbreiten garantieren.

Auf dem 1. Realtime Linux Workshop im Dezember 1999 in Wien wurden die unterschiedlichen Ansätze diskutiert. Entgegen anders lautenden Pressemeldungen gelang es aber nicht, sich auf EL/IX von Cygnus als einheitliches Interface zu einem echtzeitfähigen Linux zu einigen.

Online-QuellenSo stark gegenwärtig die Nachfrage nach Linux im eingebetteten Bereich ist, so zahlreich sind auch die Informationsquellen im Internet zu diesem Thema. Die folgenden Links bieten nur einen ersten groben Überblick.

Embedded-Linux-Portal-Sites

http://www.linuxembedded.com

http://www.LinuxDevices.com

http://linux-rep.fnal.gov/realtime

http://realtimelinux.org

http://www.embedlinux.net

Distributionen

http://www.linuxrouter.org (Linux-Router-Projekt)

http://mulinux.nevalabs.org (Mikro-Linux)

http://www.mvista.com (Hard Hat Linux)

http://www.lineo.com (Embeddix)

http://www.lynx.org (BlueCat)

http://www.zentropix.com/products/rtl_cdrom.html (Realtime-Linux)

Hardware

http://www.uclinux.org (Linux-HW auf einem Simm-Modul)

http://www.lart.tudelft.nl (Schaltpläne für Linux-HW, basierend auf ARM-Prozessor)

http://www.arm.uk.linux.org (ARM-Linux-Projekt)

http://www.vmelinux.org (Linux auf VME-Bus-Hardware)

http://www.openhardware.net (Schaltpläne für Linux-HW, basierend auf MC68EZ328 und 68332-Prozessor)

Kernel-Portierungen und RT-Erweiterungen

http://www.elks.ecs.soton.ac.uk (16-Bit-Linux)

http://www.rtlinux.org (RT-Linux)

http://www.rtai.org (RTAI-Linux)

http://www.ittc.ukans.edu/kurt (Kurt)

http://www.etl.go.jp/etl/robotics/Projects/ART-Linux (Realzeit-Treiber)

http://www.cs.cmu.edu/rajkumar/resource-kernel.html (Resource-Kernel)

http://www.linuxce.org (Linux-Portierungen auf diverse PDAs)

Sonstiges:

http://www.llp.fu-berlin.de (Linux Lab Project)

http://sourceware.cygnus.com/elix/whitepaper.html (EL/IX API für Embedded Linux)

http://www.LinuxPLC.org (Java-basierte Soft-SPS)

http://www.isd.cme.nist.gov/projects/emc/emcsoft.html (Enhanced Machine Controler)