Da das auf Unix basierende Linux sehr flexibel angepasst und optimiert werden kann, hat es sich auch in Rechenzentren stark verbreitet, in denen speziell angepasste Versionen auf Großrechnern, Computerclustern oder Supercomputern laufen. In der TOP500-Liste der schnellsten Computersysteme (Stand Juni 2012) werden insgesamt 462 ausschließlich unter Linux betriebene Systeme und 11 teilweise (CNK/SLES 9) unter Linux betriebene Systeme aufgelistet. Damit laufen 92,4 % vollständig und 94,6 % zumindest teilweise unter Linux. Fast alle anderen Systeme werden unter Unix oder Unix-artigen Systemen betrieben. Der im Desktop-Bereich größte Konkurrent Windows spielt im Bereich der Höchstleistungsrechner mit 2 Systemen (Platz 94 und 156) kaum eine Rolle (0,4?%). Im Juni 2011 waren es noch 4 Systeme (darunter Platz 40), die unter Windows betrieben wurden.
Der Unix-Kernel hat über Gerätetreiber allein Zugriff auf die Hardware und verwaltet Prozesse. Daneben stellt er das Dateisystem zur Verfügung, in modernen Varianten zusätzlich den Netzwerkprotokollstapel. Systemaufrufe aus Prozessen dienen zum Starten (Systemaufrufe fork, exec) und Steuern von weiteren Prozessen sowie zur Kommunikation mit dem Dateisystem. Zugriffe auf die Gerätetreiber werden als Zugriffe auf „spezielle Dateien“ (Gerätedateien) im Dateisystem abgebildet. Dadurch werden Dateien und Geräte aus Sicht der Prozesse und damit der Anwendungsprogramme so weit wie möglich vereinheitlicht (Systemaufrufe open, read, write, usw).
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 (Rootverzeichnis) dieser Hierarchie ist das Verzeichnis „/“. Eines der Grundkonzepte von UNIX ist, auch Disketten- und CD-Laufwerke, weitere Festplatten des eigenen Rechners oder fremder Rechner, Terminals, Bandgeräte und andere special files im Dateisystem abzubilden (Gerätedateien, Dateien, die scheinbar die Daten eines Laufwerks enthalten und beim Lesen „ausgeben“) anstatt wie einige andere Betriebssysteme (u. a. VMS, MS-DOS, Microsoft Windows) dafür separate Verzeichnishierarchien unterhalb sog. „Laufwerksbuchstaben“ anzulegen. „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 Standardkommandos ermöglichen dem Anwender eine einfache Ein-/Ausgabeumleitung in Dateien, und über Pipes die Kommunikation zwischen Prozessen.
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. Durch die Kombinierbarkeit der größtenteils standardisierten Werkzeuge wird häufig vermieden, dass man für „Einmalaufgaben“ oder einfachere Administrationsarbeiten jeweils spezialisierte Programme schreiben muss, wie dies in anderen Betriebssystemen häufig der Fall ist.
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), IP-Netzwerkunterstützung (ebenfalls zuerst in der BSD-Linie), hervorragende Scriptingeigenschaften, eine voll ausgebaute Shell und eine Vielzahl von Werkzeugen (die 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 einander zum Durchbruch, und so ist C auch heute noch die bevorzugte Sprache unter Unix-Systemen.
Das System erhielt ursprünglich von einem Mitarbeiter den Namen Unics, ein Akronym von Uniplexed Information and Computing Service und eine Anspielung auf Multics. Wie später die kürzere Schreibweise des Ausklangs als einzelner Buchstabe „x“ entstand, ist unklar.]
Ob die Schreibweise Unix oder stattdessen UNIX richtig ist, wird schon lange diskutiert. Geschichtlich ist die Schreibweise Unix die ältere, die Schreibweise UNIX tauchte erst später auf – aus rein ästhetischen Gründen. Heute haben sie unterschiedliche Bedeutungen: In der Fachliteratur verwendet man üblicherweise Unix als Bezeichnung für unixartige Systeme, während man UNIX zur Kennzeichnung zertifizierter Systeme nutzt. Als Plural ist im Deutschen „Unixe“ und das an die 3. Deklination des Lateinischen angelehnte „Unices“ im Gebrauch, im Englischen „Unixes“ und ebenfalls „Unices“.
Ken Thompson erstellte 1969 die erste Version von Unix in Assemblersprache auf der DEC PDP-7 als Alternative zu Multics. Als eines der ersten Programme für den neuen Kernel schrieb Thompson zusammen mit Dennis Ritchie das Spiel Space Travel, um auszuloten, welche Schnittstellen sie benötigen. 1972–1974 wurde das Betriebssystem komplett neu in C implementiert und gemeinsam mit einem C-Compiler kostenfrei an verschiedene Universitäten verteilt (AT&T durfte als staatlich kontrollierter Monopolist in der Telekommunikationsbranche keine Software verkaufen) – daraus entwickelte sich u. a. an der Universität von Kalifornien in Berkeley die BSD-Linie von Unix. Erst Ende der 1970er Jahre versuchte AT&T 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 BSD oder System-V abstammten. Als Reaktion darauf erhob sich der Ruf nach Standardisierung.
Jeder Hersteller änderte und erweiterte das System in den 1980er 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 Standard IEEE 1003, 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.
Bis Unix V7 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 1980er 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. Für auf BSD basierende Systeme wurden – da ein Teil des Codes von AT&T stammte – hohe Lizenzgebühren erhoben.
Читать дальше