Login
Newsletter
Werbung

Mo, 13. April 2009, 00:00

Die Vorgeschichte von Linux

Die Anfänge von Linux

Die Situation Anfang 1991 war:

Das einzige freie Betriebsystem für 32-Bit-PCs war Minix[25]. Linus Torvalds kaufte sich zu dieser Zeit einen 386er und wollte das System kennen lernen. Dass DOS nicht befriedigend war kann man sich leicht vorstellen, insbesondere war es nicht in der Lage, den erweiterten Modus, den Protected Mode, zu nutzen. Minix hingegen war aber ein Lehrsystem von Andrew Tanenbaum und eigentlich nicht für den produktiven Einsatz gedacht. Es musste zudem gekauft werden und hatte zahlreiche Mängel.

Diese Schwächen sorgten für Frust. Es gab zahlreiche Patches, die man sich aus dem Internet herunterladen und einspielen konnte - hauptsächlich von Bruce Evans aus Australien. Tanenbaum weigerte sich, diese Verbesserungen in Minix einzubauen. Sein Interesse war es, ein Lehrsystem zu haben. Da war einfacher, sauberer Code wichtiger als diverse Funktionalitäten. Ein besonderes Manko war die schlechte Terminal-Emulation. Diese brauchte Linus aber, um sich am Großrechner in der Universität einwählen zu können.

Also reifte in ihm die Idee, eine eigene Terminal-Emulation zu schreiben, die direkt auf der Hardwareebene arbeitet - ohne Minix. Eine Motivation dazu war einfach, die Leistungsfähigkeit des Computers kennen zu lernen. Die vermutlich größte Herausforderung hierbei war wohl, von der Floppy zu booten und dann in den Protected Mode des Prozessors zu wechseln. Standardmäßig startet ein Prozessor in den 16-Bit Real Mode. Hinzu kommt dann noch die Frage, wie der Bildschirm angesteuert und die Tastatur abgefragt werden können. Dann musste noch die lesende und schreibende Kommunikation mit dem Modem programmiert werden.

Es sollten zwei unabhängige Threads zum Einsatz kommen: Einer, der nur vom Modem liest und alles auf den Bildschirm ausgibt, sowie ein zweiter, der von der Tastatur liest und an das Modem sendet. Voilà: zwei Tasks, die einfachste Form des Multitaskings. Die erste Version bestand aus zwei parallel arbeitenden Tasks: der eine gab nur As auf dem Bildschirm aus, der andere nur Bs. Linus' ganzer Stolz konnte aber keinen anderen wirklich begeistern. Aber wenn man diesen Hintergrund nicht kennt, ist das wohl klar.

Das erstellte Terminalprogramm funktionierte und wurde permanent verbessert. Mit der Modem-Kommunikation kam auch rasch der Wunsch auf, Dateien hoch- und herunterzuladen. Also wurden ein Festplattentreiber und ein Dateisystem entwickelt. Das Dateisystem war das von Minix, damit er mit seinem Programm und aus Minix darauf zugreifen konnte. So langsam reifte die Idee, dass daraus auch ein ganzes Betriebssystem entwickelt werden könnte. Leider konnte Linus nirgendwo den POSIX-Standard auftreiben. Daher nahm er die Handbücher von Sun Microsystems - es gab einen Sun-Server an der Universität. In diesen waren die wichtigsten Systemaufrufe dokumentiert.

Eines der ersten Anwendungsprogramme, die Linus portierte, war die Bash (Bourne Again Shell[26] ), ein GNU-Variante der klassischen Bourne Shell. Anstelle eines Init-Prozesses startete der Kernel direkt die Bash. Als die Shell endlich lief, waren die restlichen Basiskommandos recht schnell implementiert. Das führte dann zu dem legendären Posting von Linus:

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
This implies that I'll get something practical within a few months, and
I'd like to know what features most people would want. Any suggestions
are welcome, but I won't promise I'll implement them :-)
 Linus (torvalds@kruuna.helsinki.fi)
PS. Yes - it's free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that's all I have :-(.

Kurze Zeit später, am 17. September 1991, wurde Linux 0.01 veröffentlicht - auf einem FTP-Server der Technischen Universität Helsinki mit Hilfe von Ari Lemke, der dort als Assistent arbeitete. Ari war es auch, der den Namen Linux vorschlug. Linus wollte das Betriebssystem eigentlich Freaks nennen.

Der Rest lief dann, wie es eigentlich zu erwarten war: Es gab viele, unter anderem von Minix frustrierte Anwender, die gerne auf den Linux-Zug aufsprangen. Denn Linux hatte recht früh die Funktionen und Eigenschaften, die bei Minix fehlten.

Ein nettes Zitat über diese Zeit stammt von Linus' Schwester, Sara Torvalds:

Für mich bedeutete es hauptsächlich, dass das Telefon ständig belegt war und uns niemand anrufen konnte... Irgendwann begannen Postkarten aus allen möglichen Ecken der Welt bei uns einzutreffen. Damals muss mir klar geworden sein, dass es in der realen Welt Menschen gab, die das, was er da geschaffen hatte, tatsächlich benutzten.

Die weitere Geschichte steht im wesentlichen in jedem Buch über Linux und dürfte den meisten bekannt sein. Das Terminal-Emulationsprogramm war gewissermaßen die Space Travel-Version von Linus.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung