UNIX

Aus LinWiki.de

Unix (Plural: Unices, Uniplexed Information and Computing System) ist heute der Oberbegriff für alle Betriebssysteme, die auf dem ursprünglichen, von AT&T entwickelten Unix-Entwurf basieren. Zu diesen Unix-Derivaten gehören zum Beispiel die BSD-Systeme, Mac OS X, HP-UX, AIX, IRIX und Solaris. Einige andere Systeme wie GNU/Linux oder QNX sind keine echten Unix-Derivate, da sie nicht auf dem ursprünglichen Unix-Quelltext basieren, sondern separat entwickelt wurden. UNIX ist ein geschütztes Markenzeichen der Open Group. Als Alternative zu dem Markenzeichen UNIX wird häufig die Schreibweise "Un*x" oder "*nix" verwendet, um die verschiedenen Unix-Derivate zusammenzufassen.

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. Daher existieren unterschiedlichste Derivate und Portierungen für verschiedenste CPU-Familien, unter anderem x86, 68k, ARM, PowerPC u.v.m.

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 19721974 bis auf wenige Teile in der höheren Programmiersprache C mit dem Ziel der Portabilität neu implementiert.

Unix ist Grundlage der am weitesten verbreiteten kommerziellen Server- und Arbeitsplatzrechner-Betriebssysteme, unter anderen Solaris (Sun Microsystems), AIX (IBM), IRIX (Silicon Graphics), HP-UX (Hewlett-Packard). Jedes dieser UNIX-Derivate implementiert außer dem UNIX-Standard auch eigene und damit teilweise nicht portable Funktionalität.

Serversysteme werden in neuerer Zeit zunehmend auch unter dem Open Source System Linux oder BSD betrieben. UNIX-Workstations werden seit längerem immer mehr durch PCs verdrängt, wobei hierunter auch Systeme wie der Apple Macintosh oder andere nicht-x86-Systeme wie der Pegasos fallen. Denn einerseits aufgrund der Anfälligkeit gegenüber Viren und Würmern im Internet und andererseits durch die wachsende Präsenz von Linux im Embedded-Bereich (Router etc.) verringert sich das Übergewicht der PC-typischen x86-Architektur im Unix-Markt allmählich. Unix/Linux-Servertechnologie findet sich daher inzwischen auf den unterschiedlichsten Systemen, vom Low- bis zum High-End, wieder.

Inhaltsverzeichnis

[Bearbeiten] 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. Wurzelverzeichnis (Root-Verzeichnis) dieser Hierarchie ist das Verzeichnis "/". Eins der hervorragenden Grundkonzepte von UNIX ist, auch Disketten- und CD-Laufwerke, weitere Festplatten des eigenen oder fremder Rechner, Terminals, Bandgeräte und andere "special files" im Dateisystem abzubilden. "Alles ist eine Datei" ist ein Grundprinzip von Unix. Dieser verallgemeinerte Dateibegriff gehört zum Wesen von UNIX und ermöglicht eine einfache, einheitliche Schnittstelle für die verschiedensten Anwendungen. In manchen UNIX-Derivaten werden selbst Prozesse und deren Eigenschaften auf Dateien abgebildet (proc-Filesystem).

Der Kommandointerpreter, die Shell, – unter Unix ein normaler Prozess ohne Privilegien – sowie zahlreiche Standard-Kommandos ermöglichen dem Anwender eine unerreicht einfache Ein-/Ausgabeumleitung in diese Dateien, und über Pipes die Verkettung von mehreren Programmen. Eine große Sammlung von einfachen Kommandos, der "UNIX-Werkzeugkasten", kann so mit Hilfe der Programmiermöglichkeiten des Kommandointerpreters kombiniert werden und komplizierte Aufgaben übernehmen.

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 (siehe Unix-Kommandos) und Daemonen. Betriebssysteme von Unix-Workstations sowie Unix-Derivate enthalten in der Regel eine grafische Benutzeroberfläche basierend auf X11.

Unix ist historisch eng mit der Programmiersprache C verknüpft – beide verhalfen sich gegenseitig zum Durchbruch, und so ist C auch heute noch die bevorzugte Sprache unter Unixsystemen.

[Bearbeiten] 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.

[Bearbeiten] Geschichte

Für ausführlichere Informationen siehe Geschichte von Unix.

Ken Thompson erstellte 1969 die erste Version von Unix in Assemblersprache auf der DEC PDP-7, um etwas Textverarbeitung zu betreiben und zu spielen. Das 19721974 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.

[Bearbeiten] Standards

Jeder Hersteller änderte und erweiterte das System in den 80er Jahren nach eigenen Vorstellungen. Es entwickelten sich Versionen mit unterschiedlichen Fähigkeiten, Kommandos, Kommandooptionen und Programmbibliotheken. Um 1985 begann die IEEE zunächst die Schnittstellen für Anwendungsprogramme zu standardisieren. Daraus entwickelte sich der IEEE 1003-Standard, der auf Anregung von Richard Stallman POSIX genannt wird. Er besteht heute aus etwa 15 Dokumenten, die sich mit allen Aspekten von Unix-Systemen wie dem Kommandozeileninterpreter (POSIX schreibt zwingend die Korn Shell vor), den Unix-Kommandos und deren Optionen, der Ein-/Ausgabe und anderem befassen.

Die Preise der IEEE für die POSIX-Dokumentation sind sehr hoch, die Veröffentlichung ist durch Urheberrecht untersagt. In neuerer Zeit ist deshalb eine Tendenz zum Single Unix Specification-Standard der Open Group zu verzeichnen. Dieser Standard ist offen, im Internet frei verfügbar und akzeptiert Vorschläge von jedem.

[Bearbeiten] 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 beschloss 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 wurden – da ein Teil des Codes von AT&T stammte – hohe Lizenzgebühren erhoben.

Die Nichtverfügbarkeit des Quellcodes veranlasste 1983 Richard Stallman, das GNU ("Gnu is not Unix") 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 arbeitete der Student Linus Torvalds an einem Terminal-Emulator mit dem er auf einen Uni-Computer zugreifen wollte. Mit der Zeit baute er Dateisystem-Zugriff und viele andere nützliche Features ein. Bald bemerkte er, dass er mehr als einen Terminal-Emulator programmierte. Den Sourcecode veröffentlichte er in der Newsgroup comp.os.minix als Betriebssystem, das auf einem Intel 386er-PC lauffähig sein sollte. Zuerst sollte sein Projekt Freax heißen. Da der übereifrige Administrator der Universität ihm als Login für sein FTP-Repository Linux vergab nannte er es einfach so. Im Sourcecode der 0.01 von Linux soll noch der Name Freax vorkommen.

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.

2000 gab Apple den Quelltext des Betriebssystems Darwin, Bestandteil von Mac OS X, frei. Es basiert auf FreeBSD und dem Mach-Mikrokernel.

Ein ungewöhnliches Unix-Derivat ist lUnix (kurz für little Unix), welches ein Unix-ähnliches System auf einem Commodore 64 oder Commodore 128 zur Verfügung stellt.

[Bearbeiten] Erscheinungsdaten

Die folgende Zusammenstellung gibt nur einen groben Überblick. Es werden nur die wichtigsten Systeme erwähnt. Diese haben jeweils ihre eigenen Versionen und ihre eigene Entwicklungsgeschichte.

  • 1969 UNICS, erste Version, AT&T
  • 1970-75 UNIX V1–V5 Time Sharing System, AT&T
  • 1976 UNIX V6 (6th Edition), AT&T
  • 1977 Erste Berkeley Software Distribution (BSD)
  • 1978 2BSD – Zweite Berkeley Software Distribution
  • 1979 UNIX V7 (7th Edition), letzte Version von AT&T mit freiem Quellcode
  • 1980 UNIX 32V Portierung der UNIX V7 auf VAX Computer
  • 1980 XENIX OS (Unix Version der Firma Microsoft, später Firma SCO)
  • 1980 3BSD und 4BSD Berkeley Portierung auf VAX Computer
  • 1981 UNIX System III, erste kommerzielle Version von AT&T
  • 1982 SunOS, 1.0 Unix Version der Firma Sun Microsystems
  • 1983 Start des GNU Projekts (GNU: Gnu is Not UnixGNU ist nicht Unix)
  • 1983 UNIX System V, AT&T
  • 1983 Ultrix, Unix-Version der Firma Digital Equipment Corporation (DEC)
  • 1983 Sinix, Unix-Version der Firma Siemens
  • 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
  • 1988 IRIX, Unix-Version der Firma Silicon Graphics
  • 1990 OSF/1, Unix-Klon der Open Software Foundation
  • 1991 4.3BSD Net/2, BSD Version ohne AT&T-Code, unvollständig
  • 1992 Solaris 2.0, Firma Sun Microsystems
  • 1992 386BSD, Patch für BSD4.3 Net/2 für Intel Prozessoren
  • 1994 4.4BSDEncumbered und 4.4BSDLite (ohne AT&T-Code)
  • 1994 NetBSD 1.0, basierend auf 4.4BSDLite
  • 1994 FreeBSD 1.0, basierend auf 4.3BSD Net/2 (kurz darauf 2.0 auf 4.4BSDLite)
  • 1994 Tru64, Nachfolger von OSF/1
  • 1995 OpenBSD-Projekt, ausgehend von NetBSD
  • 2000 Darwin, Firma Apple, basierend auf Mach und FreeBSD

[Bearbeiten] Siehe auch

[Bearbeiten] Literatur

  • The Bell System Technical Journal, Vol. 57, July-August 1978, No. 6, Part 2, p. 1897–2312
  • Kernighan/Pike: Der Unix Werkzeugkasten, deutsche Übersetzung, Hanser Verlag, 1986, ISBN 3446142738
  • E. Foxley: Unix für Super-User, Addison-Wesley Verlag, 1988, ISBN 3-925118-24-1
  • J. Gulbins, K. Obermayr: UNIX System V.4. Begriffe, Konzepte, Kommandos, Schnittstellen, 4. Aufl. 1995, ISBN 3540588647
  • J. Peek, T. Codinp. J. Strang: UNIX. Ein praktischer Einstieg, O' Reilly Verlag, 2002, ISBN 3897211572

[Bearbeiten] Weblinks


Dieser Artikel (oder Teile davon) wurde aus der Wikipedia - der freien Enzyklopädie - entnommen und eventuell danach verändert/erweitert. In der Wikipedia ist eine Liste der Autoren verfügbar.

Diese Seite wurde zuletzt am 14. Dezember 2008 um 19:13 Uhr geändert.
Diese Seite wurde bisher 8.678-mal abgerufen.