Unix
Unix ist ein portables Betriebssystem, das die Grundlage für viele kommerzielle und nicht kommerzielle
Betriebssysteme bildet. UNIX ist ein geschütztes
Markenzeichen der Open Group.
Der Einfluss von Unix erstreckt sich auf nahezu alle heute verbreiteten Betriebssysteme. Ideen und Konzepte von Unix finden sich überall, sei es im kleinen Embedded-System bis hin zu Großrechner-Betriebssystemen. Projekte wie GNU/Linux oder die freien BSD-Systeme implementieren das Verhalten und die Schnittstellen von Unix neu und steuern eigene Erweiterungen bei.
Das System wurde ursprünglich ab 1969 an den Bell Laboratories von AT&T von einer Gruppe um Ken Thompson und Dennis Ritchie entwickelt und in den Jahren 1972-1974 bis auf wenige Teile in der höheren Programmiersprache C mit dem Ziel der Portabilität neu implementiert.
Unix ist Bestandteil der am weitesten verbreiteten kommerziellen Server- und Workstation-Betriebssysteme, unter anderen Solaris (Sun Microsystems), AIX (IBM), IRIX (Silicon Graphics), HP-UX (Hewlett-Packard). Auch diese und weitere Firmen haben das System wesentlich erweitert. Serversysteme werden in neuester Zeit jedoch zunehmend auch unter GNU/Linux oder BSD betrieben, Workstations durch PCs verdrängt.
Merkmale
Unix besteht aus einem Kernel, der allein Zugriff auf die Geräte hat und Prozesse verwaltet. Der Kernel stellt das Dateisystem zur Verfügung, das neben Systemaufrufen die wesentliche Schnittstelle für die Prozesse in den Kernel darstellt. Eine Vielzahl von Programmen inklusive eines C-Entwicklungssystems und eines Textsatzprogrammes (troff) vervollständigen das System.
Das Dateisystem ist als hierarchisches Verzeichnis mit beliebigen Unterverzeichnissen organisiert, ein damals neues Konzept, das heute überall selbstverständlich ist. Das Root (Wurzel)-Verzeichnis - normalerweise auf einem Plattenlaufwerk - wird beim Starten angehängt. Weitere Festplattenlaufwerke und Geräte wie CD-Laufwerke können eingehängt werden, ihr Inhalt erscheint als normale Dateien in der Hierarchie. Sie benötigen daher aus Anwendungssicht keine besondere Behandlung. Spezielle Dateien (special files) ermöglichen den Zugriff auf alle Geräte (Terminals, Bandgeräte, Bildschirmspeicher) in diesem Dateisystem, als Grundkonzept wird das alles ist eine byteorientierte Datei Prinzip verfolgt.
Der Kommandointerpreter, die Shell, - unter Unix ein normaler Prozess ohne Privilegien - sowie die Programmierbibliotheken ermöglichen dem Anwender eine unerreicht einfache Ein-/Ausgabeumleitung in diese Dateien, sogar über Pipes die Verkettung von mehreren Programmen. Eine große Sammlung von einfachen Programmen kann so mit Hilfe der Programmiermöglichkeiten des Kommandointerpreters kombiniert werden und komplizierte Aufgaben übernehmen, der so genannte UNIX-Werkzeugkasten entsteht und löst das frühere Konzept der leistungsfähigen, alleinstehenden, allumfassenden, unflexiblen Anwendungen ab.
Zu den wichtigen Merkmalen eines typischen Unixsystems gehören: hohe Stabilität, Multiuser, Multitasking (mittlerweile auch Multithreading), Speicherschutz und virtueller Speicher (zuerst implementiert in der BSD-Linie), TCP/IP Netzwerkunterstützung (ebenfalls zuerst in der BSD Linie), hervorragende Scriptingeigenschaften, eine voll ausgebaute Shell und eine Vielzahl von Werkzeugen und Daemonen. Betriebssysteme von Unix-Workstations sowie Unix-Derivate enthalten in der Regel eine grafische Benutzeroberfläche basierend auf X11.
Siehe auch: Unix Kommandos
Unix ist historisch eng mit der Programmiersprache C verknüpft - beide verhalfen sich gegenseitig zum Durchbruch, und so ist C auch heute noch die präferierte Sprache unter Unixsystemen.
Der Name Unix
Das System hieß ursprünglich Unics (später gekürzt auf Unix), eine Anspielung auf das Multics System. Der Name Unics wurde gerne auch als UNIplexed Information and Computing Service interpretiert, allerdings ist dies eine nachträgliche Interpretation - weder Unics, noch Unix oder UNIX sind Akronyme.
Die Diskussion, welcher Name nun der richtigere sei, UNIX oder Unix, entflammt immer wieder von neuem. Geschichtlich ist Unix der ältere Name, UNIX als Name tauchte erst 1974 auf - aus rein ästhetischen Gründen.
Geschichte
Die Geschichte von Unix begann, als Ken Thompson 1969 die erste Version von Unix in Assembler auf der DEC PDP-7 schrieb, um etwas Textverarbeitung zu betreiben und zu spielen. Das 1972-1974 in C implementierte System wurde gemeinsam mit einem C-Compiler kostenfrei an verschiedene Universitäten verteilt - aus ihr entwickelte sich die BSD-Linie von Unix. AT&T versuchte schließlich selbst, Unix gewinnbringend zu vermarkten, woraus die System V Linie von Unix entstand. In den 1980er Jahren wurde Unix zum dominierenden Betriebssystem an den Universitäten, und es existierte eine Fülle verschiedenster Unix-Derivate, die alle in irgendeiner Form von den beiden Hauptlinien abstammten, womit langsam Bedarf nach Standardisierung entstand.
Weitere Einzelheiten enthält Geschichte von Unix.
Freie Unix-Derivate
Bis Unix V7, das 1979 erschien, wurde der Quellcode von Unix, gegen Erstattung der Kopier- und Datenträgerkosten, an Universitäten verteilt. Unix hatte damit den Charakter eines freien, portablen Betriebssystems. Der Code wurde in Vorlesungen und Veröffentlichungen verwendet und konnte nach eigenen Vorstellungen geändert und ergänzt werden. Die Universität Berkeley entwickelte eine eigene Distribution mit wesentlichen Erweiterungen, die Berkeley Software Distribution (BSD).
In den frühen 80er Jahren beschloß AT&T, Unix zu vermarkten, der AT&T Quellcode durfte ab diesem Zeitpunkt nicht mehr öffentlich zugänglich gemacht werden, auch die Verwendung in Vorlesungen etc. war ausgeschlossen. Auch auf BSD basierende Systeme mussten, da ein Teil des Codes von AT&T stammte, eine (teure) Lizenz erwerben.
Die Nichtverfügbarkeit des Quellcodes veranlasste 1983 Richard Stallman, das GNU (Gnu ist nicht Unix)-Projekt ins Leben zu rufen. Ziel des Projekts war ein freies, Unix-kompatibles System. Bis 1990 hatte das Projekt alle wesentlichen Teile - inklusive des GNU C-Compilers - entwickelt, jedoch mit Ausnahme des Kernels.
1987 erschien das Lehrsystem Minix der Vrije Unversität, Amsterdam. Minix war ein Unix-Klon mit Mikrokernel, C-Compiler, Editor und vielen Kommandos, das auf anspruchsloser PC-Hardware lief. Der Quellcode war Teil des Lieferumfangs. Es war zwar kommerziell, aufgrund seines sehr niedrigen Preises kam es einem freien System aber sehr nahe. Wie vormals Unix diente dieses System vielen als Ausgangspunkt für eigene Experimente.
1991 veröffentliche der finnische Student Linus Torvalds den Kernel für ein Betriebssystem, das auf einem normalen Intel 386er-PC laufen sollte. Der POSIX-Standard und das GNU-Projekt, das alle nötigen Werkzeuge wie Compiler und Shells bietet, boten einen geeigneten Weg dahin.
Torvalds verwendete das Minix-System und den GNU-C Compiler als Grundlage. Er schrieb einen Kern, den er Linux nannte. Darauf übertrug er die Softwarewerkzeuge und Bibliotheken des GNU-Projekts. Diese Werkzeuge boten in Kombination mit dem Linux-Kern die Grundlage für ein POSIX-getreues freies Betriebssystem, bekannt als GNU/Linux oder einfach Linux.
1992 erschien mit 386BSD von Bill Jolitz ein weiteres freies System für 80386 Prozessoren. Es bestand aus einem Patch für die nicht von AT&T stammenden freien Teile der BSD Distribution und bildete ein weiteres freies, sehr fortgeschrittenes Betriebssystem für Intel Prozessoren.
1994 veröffentlichte Berkeley mit 4.4BSDLite die letzte Version ihrer Distribution, die von AT&T Quellcode befreit war. Dieses bildete zusammen mit 386BSD die Grundlage für NetBSD, FreeBSD und kurz darauf OpenBSD. Im Jahr 2000 gab Apple den Quellcode des Betriebsystems Darwin, Bestandteil von Mac OS X, frei. Es basiert auf FreeBSD und dem Mach Mikrokernel.
Erscheinungsdaten
1969 UNICS, erste Version, AT&T 1970-75 UNIX V1-V5 Time Sharing System, AT&T 1976 UNIX V6, AT&T 1978 1BSD (Unix Version der Universität Berkeley) 1979 UNIX V7 (letzte Version von AT&T mit freiem Quellcode) 1980 XENIX OS (Unix Version der Firma Microsoft, später Firma SCO) 1980 4BSD 1981 UNIX System III, erste kommerzielle Version von AT&T 1982 SunOS 1.0 (Fa. Sun Microsystems) 1983 Start des GNU Projekts (GNU: Gnu is Not Unix - GNU ist nicht Unix) 1983 UNIX System V, AT&T 1983 Ultrix Unix Version der Fa. Digital Equipment Corporation (DEC) 1983 Sinix (Unix-Version der Firma Siemens) 1983 IRIX Unix-Version der Firma Silicon Graphics 1983 Coherent, Unix-ähnliches System der Mark Williams Company 1983 4.2BSD 1984 Unicos 1.0, Unix-Version der Firma Cray Supercomputers 1985 Start des Mach Mikrokernel Projekts an der Carnegie Mellon University (Kalifornien). 1986 AIX 1.0, Unix Version der Firma IBM 1986 A/UX, Unix Version der Firma Apple 1986 HP-UX 1.0 Unix Version der Firma Hewlett Packard 1987 Minix 1.0 (Unix-Klon der Vrije Universität, Amsterdam) 1990 OSF/1 UNIX-Klon der Open Software Foundation 1991 Linux 0.1, Open-Source Kernel von Linus Torvalds 1992 Solaris 2.0 (Fa. Sun Microsystems) 1994 4.4BSD und 4.4BSDLite 1994 NetBSD 1.0, basierend auf 4.4BSDLite 1994 FreeBSD 1.0, basierend auf 4.4BSDLite 1994 Tru64, Nachfolger von OSF/1 1995 OpenBSD Projekt, ausgehend von NetBSD 2000 Darwin der Firma Apple erscheint, basierend auf Mach und FreeBSD
Literatur
- Kernighan/Pike: Der Unix Werkzeugkasten, deutsche Übersetzung, Hanser Verlag, 1986, ISBN 3446142738