Copyright © 1995 by O'Reilly/International Thomson Verlag

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches "Linux - Wegweiser zur Installation & Konfiguration", dann klicken Sie hier.


Kapitel 1
Linux -- Eine kurze Geschichte

UNIX ist wegen der weitgefächerten Unterstützung und seiner enormen Verbreitung weltweit eines der beliebtesten Betriebssysteme. Es wurde ursprünglich Mitte der 70er Jahre als Multitasking-Betriebssystem für Minicomputer und Großrechner entwickelt. Seitdem ist es zu einem der am häufigsten eingesetzten Betriebssysteme überhaupt geworden -- trotz seiner manchmal verwirrenden Bedienung und der fehlenden Standardisierung.

Und was ist der wahre Grund für die Popularität von UNIX? Viele Hacker betrachten UNIX einfach als »The Real Thing« -- Das Einzig Wahre Betriebssystem. Daraus ergab sich die Entwicklung von Linux durch eine wachsende Schar von UNIX-Hackern, die sich die Hände an ihrem eigenen Betriebssystem schmutzig machen wollten.

Es gibt Versionen von UNIX für viele Rechnertypen -- das reicht vom PC bis zu Supercomputern wie der Cray Y-MP. Die meisten Versionen von PC-UNIXen sind ziemlich teuer und unhandlich. Zum Zeitpunkt des Schreibens kostet eine Einzellizenz von AT&Ts System V für den 386er mehr als 2000 DM.

Linux ist eine frei erhältliche Version von UNIX, die in erster Linie von Linus Torvalds (1) an der Universtät von Helsinki entwickelt wurde. Linux entstand unter Mithilfe von vielen UNIX-Programmierern und -Freaks überall im Internet und jeder, der genug Know-how und Grips besaß, durfte das System weiterentwickeln und verändern. Der Linux-Kernel enthält keinen Programmcode von AT&T oder von anderen Firmen, und ein Großteil der Software für Linux wurde innerhalb des GNU-Projektes bei der Free Software Foundation in Cambridge, Massachusetts geschrieben. Gleichzeitig haben Programmierer aus der ganzen Welt ihren Beitrag zum größer werdenden Pool an Linux-Software beigetragen.

Linux wurde ursprünglich als ein Hobbyprojekt von Linus entwickelt. Es wurde von Minix inspiriert, einem kleinen UNIX-System von Andy Tanenbaum, und die ersten Beiträge zu Linux tauchten in der USENET-Newsgruppe comp.os.minix auf. In diesen Beiträgen ging es meistens um die Entwicklung eines kleinen, akademischen UNIX-Systems für Benutzer, die mit Minix nicht mehr zufrieden waren.

Die ersten Arbeiten an Linux befaßten sich in der Hauptsache mit den Task-Switching-Möglichkeiten im Protected Mode der 80386er CPU und waren vollständig in Assembler geschrieben. Linus sagt dazu:

Danach ging es zügig voran: immer noch schwierig zu programmieren, aber ich hatte schon ein paar Geräte und das Debuggen war einfacher. Zu dieser Zeit begann ich, mit C zu arbeiten, und damit ging alles schneller. Etwa gleichzeitig wurde es mir auch mit der größenwahnsinnigen Idee ernst, »ein besseres Minix als Minix« zu schaffen. Ich hoffte, daß ich eines Tages in der Lage sein würde, gcc unter Linux zu kompilieren...

Ich brauchte zwei Monate für ein Grundsystem, aber danach nur etwas länger für einen Festplattentreiber (voller Fehler, aber zufälligerweise funktionierte er auf meinem Rechner) und ein kleines Dateisystem. Etwa zu der Zeit stellte ich die Version 0.01 zur Verfügung [Ende August 1991]: Sie war nicht schön, sie hatte keinen Treiber für Diskettenlaufwerke und sie konnte kaum etwas Sinnvolles tun. Ich glaube nicht, daß irgend jemand diese Version jemals kompiliert hat. Aber ich hatte Feuer gefangen und wollte nicht aufhören, bevor ich Minix rausschmeißen konnte.

Die Version 0.01 von Linux wurde niemals öffentlich angekündigt. Der Code war noch nicht einmal ausführbar, er enthielt nur die allernotwendigsten Bestandteile des Kernels und setzte voraus, daß zum Kompilieren und Testen ein Minix-System vorhanden war.

Am 5. Oktober 1991 kündigte Linus die erste »offizielle« Version von Linux an: die Version 0.02. Zu diesem Zeitpunkt war er in der Lage, mit bash (GNUs Bourne Again Shell) und gcc (dem GNU-C-Compiler) zu arbeiten, aber viel mehr war noch nicht lauffähig. Allerdings handelte es sich immer noch um ein System für Hacker. Höchste Priorität hatte die Entwicklung des Kernels-keines der Themen Benutzersupport, Dokumentation, Distribution usw. war auch nur angedacht worden. Auch heute noch scheint die Gemeinde der Linux-Entwickler solche benutzerfreundlichen Themen als zweitrangig gegenüber der »wahren Programmierung« zu betrachten -- der Entwicklung des Kernels.

Linus schrieb dazu in comp.os.minix:

Sehnt Ihr euch nach den schönen Zeiten von Minix-1.1 zurück, als Männer noch Männer waren und ihre eigenen Gerätetreiber schrieben? Fehlt euch ein Projekt und verlangt es euch danach, eure Zähne an einem Betriebssystem zu wetzen, das Ihr nach euren Vorstellungen modifizieren könnt? Seid Ihr frustriert, wenn unter Minix alles funktionert? Keine durchwachten Nächte mehr, um ein nettes Programm zum Laufen zu bringen? Dann könnte diese Mail genau für euch bestimmt sein.

Wie ich vor einem Monat bereits erwähnte, arbeite ich an einer freien Version eines Minix-ähnlichen Systems für AT-386er. Das System ist so weit gediehen, daß man damit arbeiten kann (oder auch nicht, je nachdem, was Ihr haben wollt) und ich bin bereit, den Quellcode zwecks weiterer Verbreitung zur Verfügung zu stellen. Es handelt sich erst um die Version 0.02..., aber ich habe bereits bash, gcc, GNUs make, GNUs sed, compress usw. zum Laufen gebracht.

Nach der Version 0.03 »bumped« Linus die Versionsnummer auf 0.10, da mehr Leute am System mitarbeiteten. Nach einigen weiteren Änderungen erhöhte Linus die Versionsnummer auf 0.95 um anzudeuten, daß das System bald reif für eine »offizielle« Freigabe sein würde. (Im allgemeinen wird Software erst dann mit der Versionsnummer 1.0 bedacht, wenn sie theoretisch komplett oder fehlerfrei ist.) Das war im März 1992. Noch einmal anderthalb Jahre später, Ende Dezember 1993, trug der Linux-Kernel die Versionsnummer 0.99pl14-und näherte sich asymptotisch der 1.0 an. Zur Zeit der Drucklegung ist der aktuelle Kernel die Version 1.1, Patchlevel 52, und die Version 1.2 steht schon in den Startlöchern.

Linux hätte nicht ohne die GNU-Tools der Free Software Foundation entstehen können. Es war deren Compiler gcc, der Linus' Code Leben einhauchte (wir werden diesen Compiler weiter hinten im Buch besprechen). Die GNU-Tools sind von Anfang an in die Entwicklung von Linux eingebunden gewesen.

Berkeley-UNIX (BSD) spielt ebenfalls eine wichtige Rolle für Linux: nicht so sehr bei seiner Entstehung, sondern indem es die Tools bereitstellt, die Linux so beliebt machen. Die meisten der Utilities, die mit Linux ausgeliefert werden, sind von BSD portiert worden. Besonders wichtig sind dabei die Netzwerkdämonen und -utilities. Der Netzwerkcode im Kernel von Linux wurde von Grund auf neu geschrieben (sogar zwei- oder dreimal), aber die Dämonen und Utilities gehen auf BSD zurück.

Heute ist Linux ein komplettes UNIX, das in der Lage ist, mit dem X Window System, TCP/IP, Emacs, UUCP, Mail- und News-Software (und was Ihnen sonst noch einfällt) zu laufen. Fast alle wichtigen freien Softwarepakete sind nach Linux portiert worden und kommerzielle Software erscheint gerade auf dem Markt. Linux unterstützt heute viel mehr Hardware als frühe Versionen des Kernels. Viele Leute haben Benchmarks auf 486er Linux-Systemen durchgeführt und festgestellt, daß Linux vergleichbar ist mit mittleren Workstations von Sun Microsystems und Digital Equipment. Wer hätte je gedacht, daß dieses »kleine« UNIX einmal so groß werden würde, daß es gegen die gesamte Welt des Personal Computing bestehen könnte?


Fußnoten:

(1)
Für den Fall, daß Sie etwas wichtiges zum Kernel loswerden wollen, hier seine E-Mail-Adresse im Internet: torvalds@\kruuna.helsinki.fi.

Inhaltsverzeichnis Vorherige Abschnitt Nächste Abschnitt