Zum Inhalt springen

Unix

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 19. August 2003 um 23:01 Uhr durch Diddi (Diskussion | Beiträge) (weblinks akt.). Sie kann sich erheblich von der aktuellen Version unterscheiden.


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