Studienarbeit - Linux in eingebetteten Systemen
Zusammenfassung
Diese Studienarbeit besch¨ aftigt sich mit dem freien Betriebssystem Linux. Im ersten Teil wird betrachtet, wie die Nachfrage nach solch einem Betriebssystem ¨ uberhaupt
entstanden ist und wie es letztendlich ein damaliger, junger Informatik-Student schaffte, mit Linux die Welt zu revolutionieren. Die von bekannten Wissenschaftlern ge¨ außerte Kritik bez¨ uglich der technischen Reife von Linux wird ebenso diskutiert wie die Kritik gegen¨ uber den sozialen Aspekten und das in Frage stellen der Sinnhaftigkeit von freier Software. Ein neuer Anreiz zur Diskussion dieses Themas entstand bei der Ver¨ offentlichung der neuen General Public License (GPL) Version 3 im Juni 2007. Sogar bei Verfechtern der freien Software stoßen einige neue und ver¨ anderte Punkte der Version 3 auf starke Ablehnung. Letztendlich war es aber auch ein Verdienst der Free Software Foundation (FSF) mit der GPL in Version 1 und 2, welche die starke Ausbreitung und Durchsetzung von Linux erst erm¨ oglichte. Mittlerweile kommt Linux sogar auf eingebetteten Systemen, wie zum Beispiel einem Router, zum Einsatz. Aufgrund der sich daduch ergebenden M¨ oglichkeiten, wird im zweiten Teil der Arbeit in einem Versuch gepr¨ uft, ob und wie es m¨ oglich sein wird, einen auf Linux-Firmware basierenden Router seinem eigentlichen Zweck zu entfremden. Ziel dieses Vorhabens ist es, auf dem urspr¨ unglichen Router einen Webserver zu installieren, zu konfigurieren und zu betreiben, welcher auch die Generierung dynamischer Webseiten (am Beispiel PHP) unterst¨ utzt.
II
Studienarbeit - Linux in eingebetteten Systemen Inhaltsverzeichnis
Inhaltsverzeichnis
1 Linux und Open Source 1
1.1 Die Entstehung von Linux 1
1.2 Kritik an Linux 3
1.3 GNU GPL 4
1.3.1 Copyleft - Freiheiten und Pflichten der GPL 5
1.3.2 Kritik GPL Version 3 6
2 Eingebettete Systeme 9
2.1 Ausgangssituation 9
2.2 Evaluierung von Linux-Distributionen 9
2.2.1 OpenWrt 10
2.2.2 FreeWrt 10
2.2.3 Entscheidung f ur FreeWrt 11
2.3 Evaluierung der Hardware 11
2.3.1 Asus WL-500g Deluxe 12
2.3.2 Asus WL-500g Premium 12
2.3.3 Entscheidung f ur WL-500g Premium 12
3 FreeWrt 14
3.1 Installation 15
3.2 Konfiguration 16
3.3 Erweiterung der Speicherressourcen 18
3.4 Funktionalit at und Leistungsf ahigkeit 18
4 Fazit 19
A Ausgabe des Ringpuffers 20
B Leistungstest 24
III
Studienarbeit - Linux in eingebetteten Systemen Inhaltsverzeichnis
Abk¨ urzungsverzeichnis
BSD . . . . . . . . . Berkeley Software Distribution
CGI . . . . . . . . . . Common Gateway Interface cmd . . . . . . . . . . Command - Windows Kommandozeile CPU . . . . . . . . . Central Processing Unit DRM . . . . . . . . . Digital Rights Management FSF . . . . . . . . . . Free Software Foundation GNU . . . . . . . . . Projektname von GNU is Not Unix GPL . . . . . . . . . . General Public License IPKG . . . . . . . . . Itsy Package Management System KB . . . . . . . . . . . Kilobyte
LED . . . . . . . . . . Light Emitting Diode bzw. Licht emittierende Diode MB . . . . . . . . . . Megabyte MHz . . . . . . . . . Megaherz
MIPS . . . . . . . . . Microprocessor without interlocked pipeline stages PC . . . . . . . . . . . Personal Computer
PHP . . . . . . . . . rekursives Backronym f¨ ur PHP:Hypertext Preprocessor RAM . . . . . . . . . Random Access Memory s . . . . . . . . . . . . . Sekunde SSH . . . . . . . . . . Secure Shell tftp . . . . . . . . . . Trivial File Transfer Protocol USB . . . . . . . . . . Universal Serial Bus VMS . . . . . . . . . Virtual Memory System
IV
Studienarbeit - Linux in eingebetteten Systemen 1 Linux und Open Source
1 Linux und Open Source
1.1 Die Entstehung von Linux
Im Jahre 1981 erfolgte die Einf¨ uhrung der mit 8086- und 80286-Prozessoren ausgestatteten IBM-PCs. Diese erste Generation von PCs ber¨ uhrte die UNIX-Welt jedoch kaum, da die großen Hersteller wie AT&T und Sun sie als zu leistungsschwach angesehen haben. Eine Meinung, welche auch von vielen Programmierern
vertreten wurde
1
. Die schnelle Entwicklung in der Informationstechnologie nahm ihren Lauf und so erzielte 1986 der PC in seiner n¨ achsten Generation den Durchbruch am Markt. Ausgestattet war der PC mittlerweile mit einem 80386-Prozessor, der von seiner Leistungsf¨ ahigkeit zum Ausf¨ uhren von Unix geeignet gewesen w¨ are, allerdings gab es keins daf¨ ur. Die großen Unix-Firmen AT&T und Sun sahen die Entwicklung der PCs nunmehr als starke Bedrohung f¨ ur ihr Gesch¨ aft mit Hochleistungsrechnern. Die rechtlichen und wirtschaftlichen Streitigkeiten mit anderen Unix Anbietern wie IBM und Hewlett-Packard hemmten jedoch die Weiterentwicklung von Unix und somit den Prozess, den Anforderungen des Marktes gerecht zu werden. Dadurch schufen sie die Marktl¨ ucke f¨ ur Windows NT. Microsoft nutzte die Gunst der Stunde, in den Unix-Markt einzudringen, den Lizenzstreitigkeiten jedoch mit ihrem eigenen Betriebssystem aus dem Weg zu gehen. Windows NT entstand auf der Basis des Betriebssystems
Virtual Memory System
(VMS), eines Rivalen
von Unix
2
. Die meisten Programmierer aber, f¨ ur die Unix zum Standardbetriebssystem geworden war, sahen dem Einzug von Microsoft sehr kritisch entgegen.
Hardware was getting cheaper, but Unix was still too expensive. We
”
were belatedly becoming aware that the old monopoly of IBM had yielded to a newer monopoly of Microsoft, and Microsoft’s mal-engineered software was rising around us like a tide of sewage 3 .“
Aufgrund der mangelnden Rechte am Quellcode von Unix war eine Portierung f¨ ur den PC nicht umsetzbar. Es entwickelte sich eine Nachfrage nach einem freien
1 vgl. GLYN MOODY: Rebel Code: Linux and the Open Source Revolution, Perseus Books,
2002, S.63 [MOO02]
2 vgl. GLYN MOODY: Rebel Code: Linux and the Open Source Revolution, Perseus Books,
2002, S.5ff [MOO02]
3 ERIC STEVEN RAYMOND: The Art of Unix Programming Addison-Wesley, 2005, Chapter
2 [RAY05]
1
Studienarbeit - Linux in eingebetteten Systemen 1 Linux und Open Source
Unix-System, f¨ ur das es aber kein wirkliches Angebot gab. 1987 wurde zumindest ein erschwingliches Unix f¨ ur den PC vorgestellt. Es h¨ orte auf den Namen Minix und wurde vom amerikanischen Informatik-Professor Andrew Tanenbaum geschrieben. Zusammen mit einem Lehrbuch wurde es f¨ ur ca. 60 US-Dollar verkauft 4 . Es war jedoch ein System, welches nur zu Lehrzwecken dienen sollte. F¨ ur einen Einsatz als Produktivsystem war es nicht vorgesehen. Auch war der Quellcode von Minix zwar ver¨ offentlicht, aber nicht freigegeben. Der damalige Informatik-Student Linus Torvalds kaufte sich 1991 einen PC und installierte darauf Minix, um das System besser kennenzulernen. Mit einem Modem stellte er eine Verbindung zur Universit¨ at her, um dort die Diskussionsforen im Usenet lesen zu k¨ onnen. Da er mit den F¨ ahigkeiten von Minix zum Aufbau solcher Terminalverbindungen nicht zufrieden war, beschloss er einen eigenen Terminalemulator zu programmieren 5 . Torvalds reichte dies aber nicht und so entwickelte er sein Programm st¨ andig weiter. Es wurde unabh¨ angig von Minix, bootete selbstst¨ andig und konnte sogar Dateien auf der Festplatte lesen und schreiben. Schließlich wurde ihm klar, dass ein Programm mit solchen Eigenschaften ein Betriebssystem auszeichnete. Seine neu gewonnene Erkenntnis ver¨ offentlichte er direkt im Minix-Forum 6 .
Die wohl bedeutendste Eigenschaft f¨ ur die weitere Entwicklung von Linux war Torvalds Absicht, das Betriebssytem frei anzubieten. Wobei frei nicht nur bedeuten soll, den Quellcode offen zu legen, sondern auch die kostenlose Abgabe und die M¨ oglichkeit, dem Anwender die Freiheit zu geben, den Quellcode seinen eigenen Bed¨ urfnissen anzupassen. Bei der ¨ Uberlegung f¨ ur einen Namen seines Programms,
kam er auf Freax. Er kombinierte es aus free f¨ ur Free Software, Freak, weil er sich selbst so sah, und als Abschluss dem X aus Unix. Torvalds bekam von der Universit¨ at Helsinki ein ¨ offentlich zug¨ angliches Verzeichnis, unter dem er sein Programm verbreiten konnte. Der zust¨ andige Administrator benannte das Verzeichnis jedoch eigenwillig in Linux um. Linux steht dabei f¨ ur Linus X-Server. Torvalds akzeptierte die Entscheidung und die Geburtsstunde von Linux war vollbracht 7 . Bis zur Version
4 vgl. GLYN MOODY: Rebel Code: Linux and the Open Source Revolution. Perseus Books,
2002, S.32ff [MOO02]
5 vgl. LINUS TORVALDS and DAVID DIAMOND: Just for Fun, Hanser Fachbuch, 2001,
[TD01]
2
Studienarbeit - Linux in eingebetteten Systemen 1 Linux und Open Source
0.11 stand Linux unter einer eigenen Lizenz von Torvalds, welche noch strenger war als die GPL und eine kommerzielle Verbreitung kategorisch ausgeschlossen hat. Ab der Version 0.12 entschloss er sich, Linux unter der GNU GPL freizugeben. Dies war wiederum ein sehr wichtiger Schritt f¨ ur den zuk¨ unftigen Erfolg von Linux, welches weiterhin auch unter GNU/Linux bekannt wurde und sich fortan rasant ausbreitete.
1.2 Kritik an Linux
Die immer gr¨ oßer werdende Linux-Gemeinde traf sich 1992 nach wie vor im Minix-Forum zum Austausch. Das Forum war eigentlich ein Bereich, der f¨ ur die Entwicklung von Minix genutzt werden sollte. Aufgrund der stetig steigenden Anzahl der Linux-Beitr¨ age wunderte es nicht, dass Minix-Erfinder Andrew Tanenbaum sich herausgefordert f¨ uhlte und in seinem bekannt gewordenen Artikel Linux is obsolete technische Kritik an Linux ¨ ubte. In einem weiteren Artikel ¨ außerte er seine sozialen Bedenken. Er k¨ onne sich nicht die Bildung einer Gemeinschaft freier Entwickler vorstellen, welche, ¨ uber das Internet und ohne disziplinarische F¨ uhrungsinstanz, eine produktive Software entwickelt. Außerdem verm¨ oge er es nicht zu verstehen, warum Torvalds die Kontrolle seines selbst geschaffenen Systems ¨ uberhaupt aus der
Hand geben m¨ ochte. Dadurch habe schließlich jeder die M¨ oglichkeit, es nach eigenem Belieben weiterzuentwickeln oder gar zu ruinieren 8 . Torvalds ¨ Uberzeugung war jedoch klar:
. . . here’s my standing on ”keeping control”, in 2 words (three?):
”
I won’t 9 “.
Technisch kritisiert Tanenbaum insbesondere den monolithischen Kernel 10 von Linux. Seiner Ansicht nach sei der monolitische Kernel technisch ¨ uberholt. Moderne
Betriebssystemarchitekturen setzten auf den Microkernel 11 . Weiterhin kritisierte er
ber f¨ ur Hardwarekomponenten und das Dateisystem. Er ist dadurch performanter als ein Micro-
kernel, aber auch weitaus anf¨ alliger f¨ ur fehlerhafte Programmierung.
11 Bei einem Microkernel laufen die meisten Funktionen als Module außerhalb des Kernels. Die
Aufgabe des Kernels ist es, die Aufrufe dieser Module zu koordinieren. Er ist weniger performant
als ein monolithischer Kernel, aber weniger fehleranf¨ allig
3
Studienarbeit - Linux in eingebetteten Systemen 1 Linux und Open Source
die mangelnde Portabilit¨ at von Linux. Es sei fest mit der x86-Prozessorarchitektur verbunden, w¨ ahrend ein vern¨ unftiges Betriebssystem portabel sein m¨ usse 12 . Die mangelnde Portabilit¨ at verlor Linux in Laufe der Entwicklung schnell. Die Architektur des Kernels hat sich allerdings bis heute nicht grundlegend ge¨ andert. Der Microkernel galt damals als der modernere und flexiblere Ansatz, jedoch untersch¨ atzte man den hohen Kommunikationsaufwand zwischen den Modulen und so setzte er sich aufgrund der dadurch bedingten schlechten Leistungsf¨ ahigkeit bis heute nicht durch. Aktuell wird aber wieder dar¨ uber diskutiert, ob der Microkernel nicht doch der richtige Ansatz sei und es zu einer R¨ uckkehr kommen k¨ onne. F¨ ur viele Menschen ist Sicherheit und Zuverl¨ assigkeit in der heutigen Zeit gleichzu-
setzen mit Leistungsf¨ ahigkeit
13
. In Zukunft sollte man den Anspruch nach einem reinen monolithischen oder reinen Microkernel neu ¨ uberdenken. Die Firma Apple
setzt schon seit Jahren auf einen Hybridkernel und verbindet damit sehr gut die Zuverl¨ assigkeit des Microkernels mit der Leistungsf¨ ahigkeit des monolithischen.
1.3 GNU GPL
Bei der Ank¨ undigung des GNU-Projekts im Jahre 1983 vers¨ aumte Stallman, sein Verst¨ andnis von Freier Software zu erkl¨ aren. Durch sein Versprechen, GNU frei an jeden zu geben, der es ben¨ otigen kann, legte er den Grundstein f¨ ur Missverst¨ andnisse 14 .
Daraus entwickelte sich auch die Annahme, freie Software sei gleichzusetzen mit kostenloser Software. Im Jahr darauf erfolgte jedoch die begriffliche Klarstellung in Form des GNU-Manifests 15 . Das Manifest definiert das Wort Freiheit der Software auf die Art und Weise der Benutzung und nicht auf den Preis. Der Anwender hat das Recht, den Programmcode zu ver¨ andern und zu verbreiten. Dies geht f¨ ur den Anwender mit der Pflicht einher, die Freiheit auch nach der Ver¨ anderung weiterhin zu gew¨ ahrleisten. 1989 wurden diese Rechte und Pflichten in der GNU
Operating Systems Reliable and Secure?, Vrije Universiteit, Amsterdam, 2006. IEEE Computer,
4
Arbeit zitieren:
Dipl.Wirtsch.Inform. (BA) Frank Hemer, 2007, Linux in eingebetteten Systemen, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Die katholische Kirche und Freimaurerei im 20. Jahrhundert
Eine kritische Bilanz
Geschichte Europa - and. Länder - Neueste Geschichte, Europäische Einigung
Seminararbeit, 23 Seiten
Friedrich Nietzsche - seine Position zur Organisation der Gesellschaft...
Germanistik - Neuere Deutsche Literatur
Hausarbeit, 19 Seiten
Der Begriff des Krieges in Thomas Hobbes "Leviathan" und Car...
Oder Kriegszustand bei Thomas ...
Seminararbeit, 42 Seiten
Kapitalismus als Religionsersatz - eine kritische Gesellschaftsanalyse...
Unterrichtsentwurf, 44 Seiten
Taktik und Taktiktraining im Fußball
Aufbau, Organisation, Spielfor...
Sport - Bewegungs- und Trainingslehre
Bachelorarbeit, 40 Seiten
Erfahrungen der Militär- und K...
Soziologie - Krieg und Frieden, Militär
Wissenschaftliche Studie, 11 Seiten
Zu J.-P. Vernants "Die Entstehung des griechischen Denkens"
Politik - Politische Theorie und Ideengeschichte
Rezension / Literaturbericht, 4 Seiten
Frank Hemer's Text Linux in eingebetteten Systemen ist nun auf dem Buchmarkt erhältlich
Frank Hemer hat den Text Linux in eingebetteten Systemen veröffentlicht
Frank Hemer hat einen neuen Text hochgeladen
Kommunikation in Verteilten Systemen (KiVS) 2007
15. Fachtagung Kommunikation i...
Torsten Braun, Georg Carle, Burkhard Stiller
Systemgrundlagen und Entwicklu...
Karsten Berns, Bernd Schürmann, Mario Trapp
Kommunikation in Verteilten Systemen (KiVS) 2009
16. Fachtagung Kommunikation i...
Klaus David, Kurt Geihs
Software-Engineering eingebetteter Systeme
Grundlagen-Methodik-Anwendunge...
Peter Liggesmeyer, Dieter Rombach
0 Kommentare