Login
Newsletter
Werbung

Mo, 13. April 2009, 00:00

Die Vorgeschichte von Linux

Der Hauptspeicher konnte segmentiert werden. Hierdurch war es möglich, mehrere Programme parallel im Speicher zu halten. Das interaktive Arbeiten war über Terminals möglich. Diese waren zur damaligen Zeit eigentlich nur Schreibmaschinen. In dieser Zeit entstanden auch zahlreiche Anwendungen, die es heute noch in irgendeiner Form gibt:

MAIL
Da diese Systeme einen permanenten Speicher, zuerst ein Bandlaufwerk und später eine Festplatte, besaßen, begannen die Anwender Dateien anzulegen wie zum Beispiel TO_TOM. Der Anwender Tom wusste damit, dass für ihn eine Nachricht hinterlegt worden war. Da dies immer mehr Leute nutzten, entstand die Notwendigkeit, ein globales System zu entwickeln. Daraus entstand das MAIL-Programm.
SHELL
Da das System interaktiv genutzt werden konnte und häufig mehrere Programme nacheinander gestartet werden sollten, wurde etwas benötigt, womit das automatisiert werden konnte. Dabei musste unter anderem auf Ergebnisse der Programme richtig reagiert werden. Das Programm, das dies ermöglichte, war der Vorgänger der heutigen Shells: RUNCOM. Ein Tribut an diese Vorläufer-Shell sind die heutigen rc-Startskripte unter Unix (/etc/rc bei BSD, bzw. /etc/rc?.d/ bei SystemV-basierten Systemen).
Textsatzsystem
Das erste Textverarbeitungssystem (eigentlich Textsatzsystem) wurde unter CTSS entwickelt und hieß RUNOFF. Die heutigen Unix-Varianten heißen roff beziehungsweise nroff, groff, troff,... Und es gibt sogar heute noch Bücher, die mit vi und troff erstellt wurden, beispielsweise das von Teer, Rich: Solaris Systems Programming, Prentice Hall, 2004.

Eine Bemerkung am Rand: Ken Thompson bekam für die Entwicklung von Unix kein Geld, wohl aber für die Entwicklung eines Textsatzsystems. Man kann sich leicht denken, was passierte: Er entwickelte Unix, und als es an der Zeit war, ein Textsatzsystem zu präsentieren, erschuf er roff. Das ging dann natürlich erstaunlich schnell.

Es gab später am MIT AI-Lab (Artificial Intelligence) noch ein Time-Sharing-System: ITS - Incompatible Time-Sharing System. Der Name war eine Anspielung auf CTSS. Dieses System und Umfeld gilt als Kinderstube der Hacker. In dieser Umgebung wuchs auch Richard M. Stallman auf. Wem der Name nichts sagt: Stallman haben wir GNU zu verdanken sowie den Namen POSIX.

Multics

Multics, Multiplexed Information and Computing Service, war als ein Nachfolger von CTSS geplant. Drei Unternehmen taten sich 1965 für dieses Projekt zusammen: MIT (Project MAC), Bell Telephone Laboratories (BTL) und General Electric Company (GE).

Die Ziele von Multics waren hochgesteckt:

  • Segmentierter Speicher
  • Virtueller Speicher/Paging
  • OS in der High-Level-Programmiersprache PL/1
  • Multiprozessor-Unterstützung
  • 7x24h Laufzeit
  • zur Laufzeit konfigurierbar
  • hochzuverlässiges Dateisystem
  • bequem via Terminal bedienbar
  • Unterstützung vieler Applikationen
  • Unterstützung vieler Programmierumgebungen und Benutzerschnittstellen

Vieles davon wurde später Bestandteil von Unix und zahlreiche Ideen wurden verwendet, wie etwa das Schreiben des Kernels in einer Hochsprache. Ein großes Problem war die Programmiersprache PL/1: Sie war für das Multics-Projekt noch nicht verfügbar. In der Zwischenzeit wurde das Multics System Programmer's Manual (MSPM) geschrieben. Das Handbuch hatte über 3000 Seiten, die mehrfach überarbeitet wurden. Die Dokumentation war also nie ein Problem von Multics und Unix lebte später sehr gut davon.

Danach zog sich die Entwicklung aber noch immer hin - vermutlich lag es daran, dass drei große Firmen ein gemeinsames Projekt stemmten. 1968 drohte ARPA (Advanced Research Projects Agency), der größte Geldgeber des Projektes, die Mittel zu sperren. 1969 stieg dann BTL aus dem Projekt aus. Zu diesem Zeitpunkt lief Multics, allerdings nur mit ein bis zwei Benutzern. Ab dem dritten brach alles zusammen.

Die meisten sind der Meinung, dass Multics ein Fehlschlag war. Es gibt aber auch andere Meinungen dazu. Tatsache ist, dass am 30.10. 2000 um 17:08 Uhr die Canadian National Defence in Halifax das letzte Multics-System abschaltete. Seit November 2007 ist Multics im Quellcode als Open Source verfügbar[4].

Viele Ideen und Konzepte von Multics wurden später bei Unix wiederverwendet. Vielleicht wurde Unix auch nur ein Erfolg, weil hier ein paar Hobbyisten das Betriebssystem programmierten und nicht eine ganze Heerschar von Profis.

ARPA als größter Sponsor hat auch das Arpanet und damit das Internet geschaffen. Und wenn man es streng nimmt, dann haben wir den Russen das Internet zu verdanken. Aber das ist wieder ein Kapitel für sich.

Die Anfänge von Unix

Alles fing mit einem Computerspiel an: Space Travel. Ken Thompson hatte dieses Spiel unter Multics programmiert. Es simulierte die Bewegung von Planeten im Sonnensystem, man konnte mit einem Raumschiff umherfliegen, in Umlaufbahnen einschwenken und sogar auf Planeten landen[5]. Das Programm wurde dann in Fortran für das Betriebssystem GECOS umgeschrieben und lief auf einer GE 635. Allerdings war da die Grafik mehr als bescheiden und die CPU-Stunde kostete 75 Dollar. Das war natürlich damals mehr Geld als heute und wäre auch heute noch recht teuer.

Auf der Suche nach einer billigen Lösung fand Ken dann eine wenig genutzte PDP-7 mit erstklassigem Terminal-Display - der Computer wurde für ein Projekt angeschafft, aber der Projektleiter hatte die Abteilung gewechselt. Der Rest ist nahe liegend: Space Travel wurde in Assembler neu geschrieben, auf der GE 635 cross-compiliert und via Lochstreifen auf die PDP-7 transferiert. Der Spieltrieb brachte es dann mit sich, dass für die PDP-7 ein Dateisystem entwickelt wurde. Was noch immer fehlte, war ein Betriebssystem.

Zu dieser Zeit im Sommer 1969 fuhr Kens Frau für einen Monat mit ihrem ein Jahr alten Sohn zu seinen Eltern, die das Kind noch nicht gesehen hatten. In diesem einen Monat wurde dann der Rest des Betriebssystems installiert: Shell, Editor, Assembler, Utilities zum Kopieren, Drucken, Löschen und so weiter. Damit war die GE 635 nicht mehr notwendig.

Obwohl Ken Thompson und Dennis Ritchie im Multics-Projekt involviert waren, wollten sie nicht einfach ein neues, besseres Multics erstellen. Aber viele der Ideen und Eigenschaften, wie beispielsweise das interaktive Arbeiten, gefielen ihnen. Sie waren also sehr wohl von Multics beeinflusst. Aber sie wussten auch, dass sie nicht die Hardware dafür hatten, und wollten daher eigentlich etwas viel Simpleres erstellen.

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