mini|Typisches Unix-Eingabefenster für Kommandozeilenbefehle, auch als Terminal oder Unix-Shell bezeichnet. Gezeigt ist die Auflistung der Inhalte eines Ordners nach Eingabe des Unix-Befehls ls -l
Unix ( []) ist ein Mehrbenutzer-Betriebssystem für Computer. Es wurde im August 1969 von Bell Laboratories (damals die Forschungsabteilung der Firma AT&T) zur Unterstützung der Softwareentwicklung entwickelt. Heute steht Unix allgemein für Betriebssysteme, die entweder direkt vom ursprünglichen Unix-System abstammen oder dessen Konzepte implementieren. Es ist zusammen mit seinen Varianten und Weiterentwicklungen – oft unter anderen, in der Öffentlichkeit bekannteren Namen – eines der verbreitetsten und einflussreichsten Betriebssysteme der Computergeschichte. Bis in die 1990er Jahre wurde Unix hauptsächlich in spezialisierten Anwendungsbereichen wie etwa bei Workstations und Servern eingesetzt, insbesondere an Universitäten und Forschungseinrichtungen. Die heutige massenhafte Anwendung in fast allen Bereichen der Computertechnik begann erst ab etwa den 2000er Jahren.
Maßgebliche Entwickler von Unix waren Ken Thompson und Dennis Ritchie, die es zunächst in Assemblersprache, dann in der von Ritchie entwickelten Programmiersprache C schrieben. Mit Unix wurden einige maßgebliche Konzepte der Informationstechnik erstmals eingeführt, etwa das hierarchische, baumartig aufgebaute Dateisystem mit Ordnerstruktur. Die frühen Entwickler definierten auch eine Reihe von Konzepten und Regeln für die Softwareentwicklung, die als Unix-Philosophie bekannt wurden. Unix wurde bis in die 1980er Jahre als quelloffenes Betriebssystem vor allem an US-Universitäten weiterentwickelt und hatte erheblichen Einfluss auf die Hackerkultur.
In den 1980er Jahren wurde Unix von AT&T kommerzialisiert, was zu einer Reihe von unabhängigen Weiterentwicklungen und Abspaltungen führte und in den sogenannten Unix-Kriegen (Unix Wars) zwischen verschiedenen Systemen und Herstellern mündete. Die diversen auf Unix basierenden bzw. davon abgeleiteten Betriebssysteme sind heute zusammengenommen die meistverbreiteten Betriebssysteme für Computer und für viele Arten von elektronischen Geräten, die einen Computer enthalten. Dabei reicht die Einsatz-Bandbreite von Mobilgeräten wie Armbanduhren und Smartphones über klassische Personal Computer und Webserver bis hin zu den größten Supercomputern. Ferner wird insbesondere das Unix-artige Linux auch als Embedded System in industriellen Mess- und Steuergeräten, in Geräten der Medizintechnik, Unterhaltungselektronik und elektronisch gesteuerten Gebrauchsgegenständen wie zum Beispiel Haushaltsgeräten, Druckern oder Netzwerktechnikgeräten wie WLAN-Routern, sowie in Kraftfahrzeugen eingesetzt. Die heute meistverbreitete kommerzielle, proprietäre Unix-Variante ist macOS von Apple bzw. dessen Mobilvariante iOS, die meistverbreitete Unix-artige Open-Source-Variante ist Linux bzw. das davon abgeleitete Android.
Typologie der Varianten mini|Typische grafische Benutzeroberfläche eines Unix-artigen Systems der 1990er Jahre, basierend auf dem weit verbreiteten X Window System. Da der Name UNIX in Großbuchstaben oder UNIX in Kapitälchen eine eingetragene Marke der Open Group ist, dürfen nur zertifizierte Systeme den Namen UNIX führen. So nutzt man in der Fachliteratur üblicherweise UNIX zur Kennzeichnung zertifizierter Systeme, während Unix als Bezeichnung für sämtliche unixartigen Systeme verwendet wird.
Unixartige Systeme können in UNIX-Derivate und unixoide Systeme eingeteilt werden. Zu den UNIX-Derivaten zählen z. B. die BSD-Systeme, HP-UX (Hewlett-Packard), DG/UX (Data General), AIX (IBM), IRIX (Silicon Graphics), UnixWare (SCO Group), 386/ix (erst Eastman Kodak, später SunSoft), Solaris (Oracle), AMIX (Commodore) und macOS (Apple).
Andere Systeme wie Linux oder QNX basieren hingegen nicht auf dem ursprünglichen Unix-Quelltext, sondern wurden separat entwickelt. Sie werden als unixoide Systeme bezeichnet, weil sie einen Teil der für Unix standardisiert definierten Betriebssystemfunktionen (POSIX) ebenfalls implementieren. Einen Sonderfall stellt BSD dar, das zwar ursprünglich auf Bell-Labs-Quelltexten beruhte, seit Mitte der 1990er jedoch von einer losen Gemeinschaft von Programmierern vollständig umgeschrieben wurde, so dass es mittlerweile frei von dem ursprünglichen, proprietären Programmcode ist.
Verbreitung mini|Professionelle Computergrafik- und CAD-Workstation SGI Octane mit dem UNIX-Derivat IRIX, Ende der 1990er Jahre.
Ursprünglich hauptsächlich im universitären Bereich verbreitet, wurde es ab den 1980er und 1990er Jahren vor allem in professionellen Workstations und auf Servern eingesetzt. Mit Linux, macOS (bis 2016 OS X und ursprünglich, bis 2012, Mac OS X) und als Grundlage mehrerer verbreiteter Betriebssysteme für Mobilgeräte erreichte es ab etwa den 2000er Jahren auch den Massenmarkt für Privatnutzer. Die beiden meistverbreiteten Betriebssysteme für Smartphones und Tabletcomputer, iOS und Android, basieren mit BSD (iOS) bzw. Linux (Android) auf unixoiden Betriebssystemen. Im September 2013 waren allein über eine Milliarde Android-Geräte weltweit aktiviert.Android wird zum Schokoriegel. Golem.de Für 2013 prognostizierte das Marktforschungsunternehmen Gartner-Group, dass erstmals mehr Android-basierte Systeme als PCs mit Windows verkauft würden.Laut Gartner überholt Android schon 2013 Windows. itespresso.de Zudem gewann Linux größere Bedeutung als quelloffenes Betriebssystem für Unternehmensanwendungen und als Embedded System für elektronische Geräte wie WLAN-Router oder Geräte der Unterhaltungselektronik.
mini|IBM Blue Gene
Da das Unix-artige 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 (siehe Beowulf) oder Supercomputern laufen. Die in der TOP500-Liste der schnellsten Computersysteme aufgeführten Systeme werden derzeit (Stand: November 2024) ausschließlich unter Linux betrieben. Der im Desktop-Bereich größte Konkurrent Windows spielt bei den Höchstleistungsrechnern keine Rolle.
Bedienung Systemfunktionen und -befehle von Unix konnten ursprünglich vom Anwender nur per Tastatureingabe über eine Kommandozeile aufgerufen werden. Der Fernschreiber Teletype 33, galt in der Anfangszeit als Ein- und Ausgabegerät. Er ähnelte einer elektromechanischen Schreibmaschine, die durch den Computer gesteuert wurde, wobei sich die einzelnen Tasten nur schwer manuell betätigen ließen. Pro Sekunde war das Setzen von zehn Zeichen möglich. Dies ist auch ein Grund, weshalb viele Befehlsnamen in Unix von solch kurzer Länge sind.Die Unix-Story. Geschichtliches Sachbuch über das Computerbetriebssystem Unix von Autor Brian W. Kernighan, 254 Seiten, Oktober 2020, dpunkt.verlag GmbH, Heidelberg, S. 55 Wenig später folgten Bildschirmterminals. Das Konzept der grafischen Benutzeroberfläche mit Fenstern und Mausbedienung war zur selben Zeit erst im Entstehen begriffen und wurde explizit nur bei grafischen Aufgaben eingesetzt. Aus diesem Grund gibt es keine standardisierte grafische Unix-Bedienoberfläche, sondern eine Anzahl von später entwickelten Varianten wie twm oder CDE, von denen viele auf dem X Window System aufbauen. Mit dem Aufkommen von Linux folgten Gnome und KDE. Bei vielen routinierten Anwendern, wie Programmierern und Systemadministratoren, ist die Kommandozeile aus Effizienzgründen nach wie vor die bevorzugte Bedienschnittstelle. Unix-Abkömmlinge für Mobilgeräte wie Smartphones und Tabletcomputer, darunter Apple iOS und Android, verwenden eigene Bedienkonzepte. Dabei ist der Zugriff auf Kommandozeile und Dateisystem meist komplett (iOS) oder teilweise (Android) gesperrt.
Aufbau und Merkmale 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. Das heute als Standard geltende Konzept war damals revolutionär. Stammverzeichnis (Root-Verzeichnis) 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, 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 Daemons. 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.
Der Name Unix 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 Auslautes 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.Unix, Jargon File 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.
Geschichte
mini|Ken Thompson (links) und Dennis Ritchie (rechts)