Akademik

UNIX
UNIX 〈[ju:nıx] EDV〉 Betriebssystem für Computer, das zum großen Teil in der Programmiersprache C geschrieben ist [engl.]

* * *

UNIX
 
[ursprünglich UNICS, Abk. für Uniplexed Information and Computing System, dt. »nicht multiplextes (vielseitiges) Informations- und Rechnersystem«], wichtiges Betriebssystem für Rechenanlagen, das heute in verschiedenen Varianten auf Geräten vom PC bis zum Supercomputer eingesetzt wird. Unix hat die paradoxe Eigenheit, dass es einerseits in einer Vielzahl von nur teilweise kompatiblen Versionen (sog. Unix-Derivate) vorliegt, aber andererseits in seiner Grundstruktur immer mehr zum Standard für Betriebssysteme überhaupt wird.
 
Die wesentlichen Merkmale von Unix lassen sich wie folgt zusammenfassen:
 
- Unix ist Multitasking-fähig, kann also mehrere Prozesse gleichzeitig und unabhängig voneinander ablaufen lassen;
 
- Unix ist Multiuser-fähig, es können mehrere Benutzer mit unterschiedlichen Zugriffsrechten und jeweils eigenem Dateisystem auf denselben Rechner zugreifen (bei Verwendung verschiedener Terminals auch gleichzeitig);
 
- Unix ist offen, d. h., der Nutzer kann das aus vielen Hundert Dienstprogrammen bestehende System um eigene Komponenten erweitern bzw. Systemprogramme modifizieren, sofern er sich die notwendigen Programmierkenntnisse aneignet; wesentliche Systemdateien (Benutzerverwaltung, Prozesssteuerung,. ..) sind einfache Textdateien;
 
- Unix ist grundsätzlich dialogorientiert, auch wenn es mittlerweile grafische Benutzeroberflächen nach dem Standard X-Window gibt.
 
Die Struktur von Unix lässt sich am einfachsten in einem sog. Schalen- oder Schichtenmodell beschreiben:
 
- Die oberste bzw. äußerste Schicht bilden Anwendungsprogramme wie z. B. eine Datenbank, eine Entwicklungsumgebung oder ein WWW-Server.
 
- Die mittlere Schicht sind Dienst- oder Hilfsprogramme (engl. tools), die sich in zwei Gruppen (»Unterschalen«) teilen lassen: einerseits Befehle wie z. B. »ls« (listet Verzeichnisse auf) oder »find« (sucht Dateien) und andererseits sog. Unix-Shells. Eine Shell ist die Schnittstelle für den Dialog zwischen Benutzer und Betriebssystem, also ein Kommando-Interpreter oder Befehlsprozessor; gleichzeitig kann man mit sog. Shell Scripts auch Systemkomponenten schreiben - in diesem Sinn ist eine Shell auch eine Programmier- bzw. Script-Sprache.
 
- Die zentrale Schicht des Systems ist der Systemkern oder Kernel. Der Kernel enthält die wesentlichen Komponenten Prozessverwaltung, Dateisystem, Speicherverwaltung und Ein-/Ausgabesystem. Die mittlere Schicht kommuniziert mit dem Kernel über Systemaufrufe und Librarys (Bibliotheken), der Kernel mit den Peripheriegeräten über Gerätetreiber und sog. ABIs (Application Binary Interface, dt. »binäre Anwendungsschnittstelle«).
 
Besonders erwähnenswert ist das Dateisystem von Unix, das in seiner ursprünglichen Form einfach Unix File System (UFS) heißt. Anders als etwa Windows bildet UFS die gesamte Struktur eines Rechnersystems in einem einheitlichen Verzeichnisbaum ab. Auch Festplatten, Netzlaufwerke und externe Geräte wie Drucker oder CD-Brenner werden wie Unterverzeichnisse in diese Struktur eingebunden (»gemounted«, mounten). Weiterhin konnte Unix von Beginn an lange Dateinamen mit bis zu 255 Zeichen verwalten, Erweiterungen waren (und sind) nicht notwendig, aber möglich. Jeder einzelne Benutzer und jede Benutzergruppe kann auf eine Datei oder ein Verzeichnis individuell definierte Zugriffsrechte haben.
 
Das Arbeiten unter Unix beginnt für einfache Nutzer (User) immer mit der Systemanmeldung, d. h. der Angabe von Benutzername (login) und Passwort (password). Anschließend erscheint ein Prompt (Eingabeaufforderung), der gewöhnlich aus dem Benutzernamen, dem Rechnernamen und einem Sonderzeichen besteht, welches die verwendete Shell kennzeichnet. Das aktuelle Verzeichnis ist das persönliche Stammverzeichnis des Nutzers.
 
Schwieriger gestaltet sich die Arbeit für sog. Superuser, d. h. Systemadministratoren oder andere Personen mit erweiterten Zugangsrechten. Dies liegt daran, dass die Systemverwaltung zwar viel größere Eingriffsmöglichkeiten bietet als etwa unter Windows oder Mac OS, aber dafür alles andere als selbsterklärend ist. Zum anderen führt der modulare Aufbau des Systems dazu, dass die Zahl der zu beachtenden Komponenten sehr groß ist und ihre wechselseitigen Beziehungen recht unüberschaubar sind.
 
Auch das Neueinrichten (Installieren) eines kompletten Unix-Betriebssystems ist so kompliziert, dass nur erfahrene Personen es ohne professionelle Hilfe wagen sollten.
 
Die Geschichte von Unix begann in den 1960er-Jahren, als es üblich war, dass Programmierer ihre Software auf Lochkarten kodierten und dann einem Mitarbeiter des Rechenzentrums, dem Operator, übergaben, der sie eigenhändig in den Rechner »fütterte«. Die Ergebnisse wurden dann meist als Ausdrucke an den Programmierer ausgeliefert. Unix sollte es dagegen ermöglichen, dass mehrere Personen ohne Vermittlung eines Operators direkt mit demselben Rechner arbeiten können. Die erste Version wurde 1969 von Ken Thompson (*1943) an den Bell Laboratories von AT&T in einer Assembler-Sprache entwickelt. Dabei lehnten er und seine Kollegen sich u. a. an das Großrechnerbetriebssystem MULTICS (Multiplexed Information and Computing System, dt. »vielfaches Informations- und Rechnersystem«) an, das einige Jahre vorher von den Bell Labs und dem MIT entworfen worden war. 1970 entwickelte Thompson die maschinennahe höhere Programmiersprache B, um eine plattformunabhängige Version des neuen Betriebssystems schreiben zu können. Aber erst mit dem B-Nachfolger C von Dennis Ritchie u. a. konnte Thompson 1973 eine portierbare und zunehmend erfolgreiche Unix-Version programmieren. Nur der Kernel von Unix ist seitdem in Maschinensprache geschrieben und muss an den jeweils benutzten Prozessor angepasst werden, alle weiteren Systemkomponenten sind in C verfasst. Seit dieser Zeit datiert die enge Verbindung von Unix und C, die beiden Konzepten bis heute zu großer Verbreitung verholfen hat. Bis 1979 wurden mehrere aufeinander folgende Varianten von Unix kostenlos an Universitäten lizenziert. Dabei wurde auch der Quellcode mitgeliefert, im Gegenzug leiteten die Systemadministratoren der Universitäten Weiterentwicklungen und Verbesserungen durch die Nutzer ihrer Institution an Bell weiter. Dadurch erlangte Unix einerseits schnell eine große Verbreitung (insbesondere auch durch Universitätsabsolventen, die ihre vertraute Umgebung mit auf ihre Positionen in Wirtschaft und Verwaltung nahmen). Andererseits reifte das System durch die große Zahl der freiwilligen Entwickler schnell.
 
Als 1979 AT&T durch ein Aufsehen erregendes Gerichtsurteil in mehrere eigenständige Unternehmen aufgeteilt wurde, begann für die Unix-Entwickler eine unruhige Zeit. Diese endete mit der Gründung der Unix Support Group, die ab 1982 als Unix System Laboratories (Abk. USL) von AT&T und Novell gemeinsam verwaltet wurde. 1983 kam das lange als Standard geltende Unix System V heraus (mehrere Updates bis Release 4 von 1990). Gleichzeitig wurden aber auch an immer mehr anderen Stellen Unix-Derivate geschrieben, etwa an der Universität von Kalifornien in Berkley (Berkeley Software Distribution Unix, BSD Unix, erste Version 1978). Auch die großen kommerziellen Software-Hersteller brachten Unix-Ableger heraus - viele ihrer Programmierer hatten ja zuvor an der Universität mit Unix gearbeitet. 1979/1980 hatte Microsoft Xenix veröffentlicht, allerdings Mitte der 1980er-Jahre an Santa Cruz Operations (SCO) verkauft, die das Projekt 1990 einstellten. Ebenfalls in den 1980er-Jahren leitete Sun Microsystems von System V das Betriebssystem SunOS ab, aus dem Anfang der 1990er-Jahre dann das fensterorientierte System Solaris wurde. 1986 veröffentlichte IBM die auch heute noch erhältliche eigene Unix-Variante AIX.
 
Um ein Mindestmaß an Einheitlichkeit in der wachsenden Vielfalt der Unix-Welt zu erreichen, wurde 1985 von AT&T die System V Interface Definition (Abk. SVID, dt. »Definition eine Schnittstelle zu System V«) veröffentlicht. Gleichzeitig tat sich 1984 eine US-amerikanische Unix-Nutzervereinigung (»/usr/group«) mit dem ISO-Komitee IEEE zusammen und definierte den Schnittstellenstandard POSIX (Portable Operating System Interface for UNIX, dt. »portierbare Betriebssystemschnittstelle für Unix«), in dem Mindestanforderungen für Unix-Systeme beschrieben wurden. Dies brachte die wichtige Idee des »Open Systems« (dt. »offenes System«) auf die Tagesordnung, das Gegenkonzept zur proprietären Software. Dieses sieht vor, dass der Quellcode von Unix (oder anderer wichtiger Software) allgemein zugänglich ist und jeder auf der Grundlage von allgemein akzeptierten technischen Standards mit eigenen Lösungen zur Weiterentwicklung des Systems beitragen kann. Ein Jahr später fanden sich fünf europäische Hersteller (u. a. Siemens und Bull) zur X/Open Company zusammen, die auf POSIX und SVID aufbauend die Entwicklung eines offenen Unix-Standards vorantrieben. Kurz darauf traten mit Firmen wie IBM, Sun, AT&T, Unisys oder Hewlett-Packard (HP) praktisch alle wichtigen Hersteller der X/Open Company bei. Die wichtigsten Dokumente von X/Open sind die X/Open Portability Guides 1-4 (XPG).
 
Etwa 1988 eskalierte die ungeklärte Frage nach einem einheitlichen Unix-Standard zum »Unix War«. Während AT&T, das nach wie vor die Markenrechte an dem Begriff »Unix« hatte, mit Sun zusammen Unix International (UI) gründete, fanden sich IBM, DEC und HP zur Open Software Foundation (OSF) zusammen. Die OSF definierte ihren eigenen offenen Unix-Standard auf Grundlage des AIX-Kernels. Unabhängig von den letztlich kommerziell motivierten Streitigkeiten zwischen UI und OSF gibt es aber noch eine dritte Traditionslinie in der Unix-Geschichte: die Bewegung für freien Software-Zugang, die u. a. in der von Richard Stallman gegründeten Free Software Foundation (FSF) organisiert ist. Stallman hatte bereits 1984 das Projekt GNU ins Leben gerufen; GNU ist eine Abkürzung für »Gnu is not Unix«, dt. »GNU ist nicht das (markenrechtlich geschützte) Unix«. Anstelle der kommerziellen Verwertung von geistigem Eigentum im Software-Bereich verfolgt die FSF das Konzept der kostenfreien General Public License (Abk. GPL, dt. »allgemeine öffentliche Lizenzierung«). Diese verbietet eine eigene kommerzielle Verwertung und fordert zur Mitarbeit an der Verbesserung des Produkts auf. Auf dem GNU-Projekt basiert auch die 1991/1992 entstandene, frei vertriebene Unix-Version Linux. Diese für PCs gedachte Unix-Variante wurde von dem Finnen Linus Torvalds konzipiert und enthält heute Beiträge von einer Vielzahl von Programmierern insbesondere aus dem GNU-Umfeld. Neben Linux ist FreeBSD eine weitere freie Unix-Variante, die auf BSD Unix basiert. Eine andere folgenreiche Entwicklung begann ebenfalls Ende der 1980er-Jahre, als Steve Jobs' Firma NeXT den sog. Mach-Kernel für ihr Unix-Derivat NextStep auswählte.
 
Die 1990er-Jahre waren von zwei Entwicklungen geprägt: 1993 verkaufte AT&T die Unix System Labs inklusive des Rechts an der Marke Unix vollständig an Novell, welche diese 1995 an die X/Open Company übertrug. Da auch Sun mittlerweile bei X/Open mitarbeitete, wurden OSF und X/Open zur Open Group zusammengeführt. Diese hat seitdem mehrere, tatsächlich allgemein respektierte Spezifikationen publiziert (zuletzt Unix 98), und damit die Bemühungen um einen vereinheitlichten offenen Unix-Standard erfolgreich zu Ende gebracht. Die andere wichtige Entwicklung kann als »Unixifizierung« der bis dahin übermächtigen PC-Betriebssysteme Windows und Mac OS beschrieben werden. Seit Mitte der 1990er-Jahre hat Windows NT bzw. 2000 zunehmend Marktanteile bei Workstations und im PC-Bereich gewonnen. Diese nur in der äußeren Erscheinung (»Look and Feel«) Windows 95/98/Me ähnelnde Betriebssystem wurde Anfang der 1990er-Jahre von Grund auf neu konzipiert, zunächst gemeinsam mit OS/2. Wenn Windows NT auch nicht die Leistungsfähigkeit »echter« Unix-Systeme aufweist, bietet es doch eine Reihe von entsprechenden Fähigkeiten, wie (eingeschränkte) Multitasking- und Multiuser-Fähigkeit und die Möglichkeit, lokale Netzwerke zu verwalten. Mit Windows XP, dem gemeinsamen Nachfolger von Me und 2000, wurden schließlich die immer noch auf DOS basierenden Komponenten von Windows Me aufgegeben und durch die Windows-2000-Struktur ersetzt. Damit vertreibt Microsoft künftig nur noch das in einer Reihe von Punkten Unix nachempfundene NT/2000-Konzept. Deutlich konsequenter war man bei Apple: Mit der Rückkehr von Steve Jobs 1997 wurde auch das Unix-Derivat NextStep erworben und zur Grundlage des heute aktuellen Mac OS X gemacht. Wie andere Anbieter (z. B. Sun) auch, hat Apple den Unix-kompatiblen Kern des Betriebssystems offen gelegt. Nur die darüber angesiedelten Schichten, insbesondere die grafische Benutzeroberfläche, werden als proprietär betrachtet.
 
Heute hält die Unix-Familie in vielen Bereichen die Marktführerschaft inne, insbesondere bei sicherheitsrelevanten Systemen und Netzwerken. Auch Betriebssysteme, die nicht nach den Open-Group-Spezifikationen konzipiert wurden, übernehmen mehr und mehr Teile der Unix-Architektur. Die Unix-Welt selbst ist heute nicht mehr in zwei unversöhnliche kommerzielle Lager geteilt. Stattdessen gibt es einerseits die in kommerziellen Software-Firmen, welche Großkunden mit anspruchsvollen Lösungen versorgen, und andererseits die Free-Software-Bewegung, welche v. a. mit Linux ebenfalls eine stetig zunehmende Bedeutung gewinnt. Beide Seiten beeinflussen sich gegenseitig und kooperieren in der Open Group.
 

Universal-Lexikon. 2012.