Inhaltsverzeichnis
UNIX ist ein Betriebssystem, dessen Entwicklung bereits in Ende der 60er Jahre des 20. Jahrhunderts begann. Computer aus dieser Zeit waren nicht mit dem zu vergleichen, was wir heute als Personal-Computer kennen, sondern waren große Maschinen, die über viele Terminals bedient werden konnten. Diese Terminals sind einfache Bildschirm/Tastatur Kombinationen, die keine eigene CPU haben, sondern vereinfacht gesagt nur alles an den Computer weiterleiten, was auf der Tastatur eingegeben wird und alles auf dem Bildschirm darstellen, was vom Computer kommt.
Die Geschichte und Entstehung von Unix
Nachdem bis Mitte der 60er Jahre die blosse Verarbeitung von Lochkarten vorgeherrscht hatte, begann man sogenannte Time-Sharing Systeme zu entwickeln, die mehrere Programme gleichzeitig laden konnten. Jedem dieser Programme wurde Rechenzeit in Zeitscheiben zugeteilt, so dass eine quasi gleichzeitige Abarbeitung mehrerer Aufgaben mögich wurde. Diese Technik wird heute noch Multitasking genannt, also die Fähigkeit, mehrere Tasks gleichzeitig zu bearbeiten.
Über die Verwendung von vielen Terminals an einem Rechner konnten auch mehrere Benutzer gleichzeitig an einem Rechner arbeiten. Das erfordert neben dem Multitasking auch den Umgang mit verschiedenen Mechanismen, die einzelne User (und ihre jeweiligen Rechte) unterscheiden. Diese Rechner werden als Multiusersysteme bezeichnet.
Im Jahr 1969 versuchte ein Mitarbeiter der Bell Labs namens Ken Thompson ein Spiel, das er auf einem Lochkartenrechner entwickelt hatte, auf eine DEC-PDP/7 zu übertragen, da deren Rechenzeit wesentlich billiger war. Für die Durchführung dieses Plans musste ein kleines Multitasking-System entwickelt werden. Zusammen mit Dennis Ritchie (einem weiteren Mitarbeiter von Bell) wurde ein hierarchisches Dateisystem, eine Speicherverwaltung für die vier KWord des Rechners und eine Prozess- und Time-Sharing Verwaltung entwickelt, die das System gleichzeitig für zwei Benutzer zur Verfügung stellte. Brian Kernighan (noch ein Bell-Mitarbeiter) bezeichnete das ganze anfangs spöttelnd als UNICS (Uniplexed Information and Computing System) – abgeleitet von einem älteren System mit Namen MULTICS (Multiplexed Information and Computing System), das sozusagen der Vorgänger des neuen Systems war. Später wurde daraus der Name UNIX, der keine Abkürzung, sondern ein Name ist.
Das System war 1971 so stabil geworden, dass es innerhalb der Bell Labs schon zur firmeninternen Nutzung herangezogen wurde. Dazu wurde es auf eine wesentlich leistungsstärkere PDP/11 portiert. Das erforderte eine Menge Arbeit, denn UNIX war damals komplett in Assembler geschrieben. Aus dieser Erfahrung heraus suchten die UNIX-Entwickler nach einer Hochsprache, die geeignet wäre, das System leichter portierbar zu machen. (Es sollte theoretisch reichen, einen Compiler für diese Sprache zu schreiben, der dann das System in die jeweilige Maschinensprache übersetzen kann.) Aus den Erfahrungen anderer Hochsprachen wurde extra für die Portierung von Unix die Sprache C geschaffen. 1973 war der größte Teil von Unix bereits in diese Sprache portiert. Unix lief schon auf 25 Rechnern der verschiedenen Abteilungen der Bell Labs.
1974 veröffentlichten Thompson und Ritchie einen Artikel über ihr System der starkes Interesse insbesondere bei den Universitäten hervorrief. Die Bell Labs stellten den Quellcode in C den Universitäten frei zur Verfügung, womit eine explosionsartige Verbreitung von UNIX begann. Ab diesem Zeitpunkt spaltet sich die Entwicklungsgeschichte in verschiedene Versionen von UNIX. Die University of California in Berkley erarbeitete eine eigene Version, die später als BSD-UNIX (Berkley System Distribution) bekannt wurde. Bis 1978 entwickelten sich die verschiedensten Portierungen und Weiterentwicklungen des Systems. Als dann schließlich 1978 die ersten 32-Bit Rechner auf den Markt kamen, war wieder UNIX das erste System, was für diese Plattformen zur Verfügung stand.
Ab 1979 wird UNIX offiziell von AT&T (der Nachfolger von Bell) als Software vertreten, gleichzeitig entsteht auch die erste verfügbare BSD-Release.
1980/81 entwickeln Santa Cruz Operation und Microsoft ein UNIX-kompatibles System für die entstehenden IBM-PCs das den Namen XENIX trägt.
1983 entsteht der heute noch gültige Standard System V.
1984 entwickelt Siemens sein SINIX.
Die zwei Hauptlinien von UNIX sind heute die klassische System V Linie, die sich stark an die Vorgaben der Bell-Labs hält und die BSD-Linie, die sich mehr an der Berkley Version orientiert. Die Entwicklung zielt heute eher zu System V, selbst Sun Microsystems, die jahrelang ihr SunOS als praktisch reine BSD-Variante angeboten haben, sind mit Solaris heute auf die System V Linie eingeschwenkt. Die meisten wichtigen Eigenschaften werden heute aber sowieso von beiden Systemen angeboten.
Unterschiedliche Unix Systeme und die Entwicklung
Zur Veranschaulichung, wie verbreitet UNIX-Systeme heute sind, hier noch eine Tabelle, mit den wichtigsten UNIX-Systemen, sortiert von „sehr BSD“ bis „sehr System V“:
Systemname | Hersteller |
---|---|
SunOS | Sun Microsystems |
Digital UNIX | Digital Equipment Corp. |
Linux | Linus Thorwald und viele Andere. |
AIX | IBM |
HP-UX | Hewlett Packard |
XENIX | Microsoft |
Solaris | Sun Microsystems |
SCO-UNIX | Santa Cruz Operation |
Unix-Ware | Novell |
SINIX | Siemens |
Damit sich diese verschiedenen UNIXe auch gegenseitig verstehen und die Entwicklungen nicht zu weit auseinanderdriften wurde 1986 ein IEEE Standard (1003.1) unter dem Namen POSIX (Portable Operating System based on UNIX) etabliert, dem heute die meisten UNIX-Anbieter Rechnung tragen.
Seit 1989 existiert die UNIX-Version System V Release 4, die versucht, alle Entwicklungen der verschiedenen Richtungen unter einem Dach zu vereinigen. An diese Richtlinien halten sich bis heute noch die meisten Anbieter.
Bis 1991 war die UNIX-Welt eine relativ abgeschottete Geschichte, es gab ein paar Gurus, ein paar mehr Spezialisten und alles was mit UNIX zusammenhing war so teuer, dass es nur Universitäten und Industrie intressieren konnte.
Es existierte damals schon ein Projekt, welches sich vorgenommen hatte, ein freies POSIX-kompatibles System zu entwickeln – die Free Software Foundation. Sie gingen aber einen sehr akademischen Weg und fingen mit den diversen Tools und Hilfsprogrammen an, um dann am Schluß das Betriebssystem zu programmieren. Das System sollte GNU (Gnu’s Not Unix) genannt werden und viele verschiedenen Programmierer arbeiteten daran. 1991 existierten schon fast alle wichtigen UNIX-Tools in einer freien GNU-Version, am wichtigsten war dabei natürlich der C-Compiler. Das Einzige, was noch fehlte – war das System selbst.
Im Jahr 1991 begann aber auch ein finnischer Informatik-Student (Linus Thorvalds) mit der Entwicklung eines freien Unix Systems. Er bediente sich dazu des GNU-C-Compilers, der eine hohe Portierbarkeit garantierte. Das Ergebnis ist bekannt und seit 1992 als LINUX als freies UNIX-System zu haben.
Linus Thorvalds setzte von Anfang an auf das Prinzip der freien Software und gab jedem den Quellcode seines Systems weiter. So begannen sich tausende von Programmierern mit LINUX zu beschäftigen, das System weiterzuentwickeln und Anwendungen dafür zu schreiben. Durch die Existenz der ganzen GNU-Tools war sehr schnell ein komplettes Betriebssystem samt aller notwendigen Hilfsprogramme vorhanden.
Durch die kostenlose Verbreitung von Linux erfuhr die Unix-Welt plötzlich wieder einen erheblichen Aufschwung. Die plötzliche Verfügbarkeit eines Unix-Systems für Menschen mit kleinem Geldbeutel, verbunden mit der Zunahme der Rechenleistung von Low-Cost-Computern sorgte für eine schnelle Verbreitung.
Mittlerweile haben sich fast alle namhaften Hersteller kommerzieller PC-Unixe dazu bereiterklärt, ihr System für Privatanwender kostenfrei zur Verfügung zu stellen. Neben dem schon bekannten FreeBSD gibt es inzwischen solche Angebote für SCO-Unix und sogar Solaris.
Die hohe Stabilität des Systems, die freie Verfügbarkeit aller Server-Software und die perfekte Einbindung der Netzwerkfähigkeit ins Betriebssystem führten zu einer hohen Nachfrage von Unix/Linux-Rechnern im Internet.