Open Source im professionellen Einsatz

Linux für MMU-lose Prozessoren

Klein, aber Linux

Um den Preis niedrig zu halten, haben Mikrocontroller gegenüber Standard-Prozessoren Einschränkungen. Deshalb müssen viele 32-Bit-Betriebssysteme bei der Massengeschäft-verdächtigen Embedded-Domäne aufstecken. Linux nimmt diese Hürde gekonnt.

Embedded-Systeme müssen in vielen Fällen mit der minimalen Hardware-Ausstattung zurechtkommen, die gerade noch für die zu lösende Aufgabe ausreicht. Außer am Speicher wird daher gerne auch an Ausstattung und Geschwindigkeit des Prozessors gespart: Neben der Fließkommaeinheit wird oft die Memory Management Unit (MMU) weggelassen, die für die Verwaltung des virtuellen Speichers notwendig ist. Doch Linux wäre nicht Linux, wenn es sich nicht flexibel auch diesen Anforderungen anpassen ließe.

PC-Betriebssysteme wie Linux setzen normalerweise eine MMU voraus, die wichtige Aufgaben erfüllt: Sie gewährleistet den Speicherschutz der Applikationen gegeneinander, damit ein Programm nicht den Speicherbereich eines anderen ändern kann, und verwaltet einen virtuellen Adressraum, damit der Compiler keinen positionsunabhängigen Code erzeugen muss und die Applikationen mehr Arbeitsspeicher anfordern dürfen als physikalisch vorhanden ist.

Üblicherweise finden wir in eingebetteten Systemen aber weder eine Festplatte für Swapspace noch eine Mehrbenutzerumgebung vor, so dass bei sorgfältigem Entwurf der Anwendungen mit Blick auf Speicherbedarf und Kooperation der Applikationen sogar auf die virtuelle Speicherverwaltung verzichtet werden kann.

Das kann bei Linux glücklicherweise ohne größere Änderungen am Kernel erreicht werden.

Historisches

Man braucht immer einige Verrückte, um solch ein Projekt anzugehen. In diesem Fall handelt es sich um Jeff Dionne und Kenneth Albanowski, die sich Anfang 1998 das ehrgeizige Ziel setzten, Linux auf einem Palm Pilot zum Laufen zu bringen. Die Resonanz auf dem Linux-Kongress 1998 in Köln war gemischt: Die Beobachtungen gingen von verwundertem Kopfschütteln bis zur Anerkennung der Genialität dieser Linux-Hacker.

Damals war Linux auf PDAs noch kein Thema und der Einsatz von Linux auf eingebetteten Systemen stand kaum zur Diskussion. Im Jahr 2001 sieht die Situation anders aus - Linux auf PDAs und Embedded Systems ist aktuell und uClinux ist eine zuverlässige Lösung für kostensensitive Linux-Anwendungen.

Stand der Dinge

Viele Linux-Entwicklungen abseits des Mainstream laufen Gefahr, dass sie mangels Interesse nach einiger Zeit der Euphorie einschlafen. Ein Beispiel dafür ist ELKS, die Portierung von Linux auf die pre-386 Intel-Prozessoren 8086, 8088 und 80286.

Das uClinux jedoch hat von Anfang an großen Anklang gefunden und ist mittlerweile auf eine große Anzahl von Plattformen portiert. Auch in einigen kommerziellen Produkten ist uClinux bereits erfolgreich. Neben den bisher verwendeten Systemkernen, die noch aus der 2.0er Serie stammen, ist seit kurzem eine erste Portierung des 2.4er Kernels für einige der Plattformen verfügbar - die 2.2er-Kernel-Serie wurde ausgelassen.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook