Was ist Unix? Grundlagen und Unterschiede

Autor: Veröffentlicht

Kurz erklärt: Unix ist ein in Bell Labs entwickeltes Betriebssystem, dessen Konzepte zur Grundlage einer ganzen Systemfamilie wurden und viele weitere Systeme beeinflussten. Es wurde dafür konzipiert, dass mehrere Benutzer damit arbeiten und mehrere Aufgaben gleichzeitig ausgeführt werden können. Linux ist ein unixähnliches System und nicht einfach ein anderer Name für Unix; macOS hat Unix-Grundlagen, und bestimmte Versionen und Konfigurationen haben eine UNIX-Zertifizierung erhalten.

Was ist Unix und woher stammt es?

Ein Betriebssystem ist die Software, die die Hardware verwaltet und das Ausführen von Programmen ermöglicht. Es weist ihnen Speicher und Prozessorzeit zu, verwaltet Dateien und kontrolliert den Zugriff auf Ressourcen. Genau diese Funktion erfüllt Unix – es ist weder eine Programmiersprache noch eine einzelne Anwendung.

Seine Anfänge reichen bis zu den Arbeiten in Bell Labs Ende der 1960er-Jahre zurück. Zu den wichtigsten Entwicklern gehörten Ken Thompson und Dennis Ritchie. Dass große Teile des Systems in der Sprache C neu geschrieben wurden, erleichterte die Übertragung auf unterschiedliche Computer. So musste nicht jede Version für eine bestimmte Hardware nahezu von Grund auf neu entwickelt werden.

Mit der Zeit entstanden verschiedene Unix-Varianten. Deshalb kann das Wort „Unix“ heute das historische System, eine Systemfamilie oder eine Reihe charakteristischer Funktionsprinzipien bezeichnen. Es sollte nicht als Name eines einzigen Produkts verstanden werden, das immer gleich aussieht und funktioniert.

Wie funktioniert ein Unix-System?

Das zentrale Element des Systems ist der Kernel, also der Teil, der Prozessor, Speicher, Geräte und Prozesse verwaltet. Ein Prozess ist ein laufendes Programm samt den Ressourcen, die es für seine Ausführung benötigt. Rund um den Kernel stehen Dienstprogramme, Dienste und Schnittstellen zur Verfügung, mit denen der Benutzer arbeitet.

Typisch für Unix-Systeme sind:

Auf einem Unternehmensserver kann beispielsweise das Benutzerkonto einer Anwendung Schreibrechte für das Verzeichnis mit hochgeladenen Dokumenten haben, aber keine Berechtigung, Systemdateien zu ändern. Diese Trennung begrenzt die Folgen eines Fehlers oder einer Übernahme der Anwendung durch Angreifer. Zugriffsrechte allein gewährleisten allerdings keine vollständige Sicherheit – auch Updates und eine korrekte Konfiguration sind notwendig.

Mit Unix ist außerdem das Prinzip verbunden, kleine Werkzeuge zu entwickeln, die bestimmte Aufgaben erledigen und zusammenarbeiten können. Statt eines einzigen umfangreichen Programms lassen sich mehrere einfachere Programme verbinden, indem die Ausgabe eines Programms an das nächste weitergegeben wird.

Unix, Linux und macOS – die wichtigsten Unterschiede

UNIX ist auch eine Marke, die mit der Zertifizierung durch The Open Group verbunden ist. Die Zertifizierung bestätigt, dass ein bestimmtes Produkt die Anforderungen des Standards erfüllt. Eine ähnliche Funktionsweise oder historische Verwandtschaft reicht nicht aus, um ein System automatisch als zertifiziertes UNIX einzustufen.

NameWas bedeutet das in der Praxis?
Unix / UNIXDas historische System und seine Familie; im Zusammenhang mit der Zertifizierung ein System, das die Anforderungen des entsprechenden Standards erfüllt.
LinuxIm engeren Sinne der Kernel. Im allgemeinen Sprachgebrauch ein Betriebssystem mit diesem Kernel, das als Distribution bereitgestellt wird, etwa Debian oder Ubuntu.
macOSDas Betriebssystem von Apple mit Unix-Grundlagen und grafischer Benutzeroberfläche; die Zertifizierung gilt für bestimmte Versionen und Konfigurationen.
FreeBSDEin unixähnliches System aus der BSD-Linie, das von Linux unabhängig ist.

Linux wurde unabhängig vom ursprünglichen Unix-Kernel entwickelt, orientiert sich aber an dessen Funktionsmodell. Deshalb lassen sich viele Befehle und Kenntnisse bei Linux, macOS und anderen unixähnlichen Systemen nutzen. Das bedeutet keine vollständige Austauschbarkeit: Werkzeugoptionen, Diensteverwaltung, Paketinstallation und unterstützte Anwendungen können sich unterscheiden.

Wenn eine Zertifizierung für eine Anschaffung oder ein Projekt erforderlich ist, sollten Sie die konkrete Version und Plattform im offiziellen Verzeichnis von The Open Group prüfen, statt sich auf den allgemeinen Systemnamen zu verlassen.

Bedeutet Unix, ausschließlich im Terminal zu arbeiten?

Nein. Ein Unix-System kann eine grafische Benutzeroberfläche haben – macOS ist dafür ein alltägliches Beispiel. Das Terminal ist eine Anwendung, die Zugang zu einer textbasierten Oberfläche bietet. Die Shell, etwa Bash oder Zsh, interpretiert die eingegebenen Befehle. Terminal, Shell und Betriebssystem sind unterschiedliche Komponenten.

In einer typischen Unix-Umgebung zeigt beispielsweise der Befehl:

ls /etc

die Namen der sichtbaren Dateien und Verzeichnisse in /etc an. Dort befinden sich üblicherweise Einstellungen des Systems und seiner Dienste. Der Befehl selbst verändert diese Dateien nicht.

Werkzeuge lassen sich auch über eine Pipeline verbinden, die durch das Zeichen | dargestellt wird:

printf 'katze\nhund\nkatze\n' | sort | uniq

Der erste Befehl erzeugt drei Textzeilen, sort sortiert sie, und uniq entfernt unmittelbar aufeinanderfolgende Wiederholungen. Das Ergebnis sind zwei Zeilen: kot und pies. Dies ist ein einfaches Beispiel für das Unix-Prinzip der Zusammenarbeit kleiner Programme.

Warum lohnt es sich, Unix kennenzulernen?

Kenntnisse des Unix-Modells helfen bei der Serveradministration, Programmierung, Automatisierung und Arbeit mit Cloud-Diensten. Sie sind auch für Websitebetreiber nützlich, die Linux-basiertes Hosting verwenden: Sie erleichtern das Verständnis von Pfaden, Zugriffsrechten und Befehlen, die über SSH, also eine verschlüsselte Fernverbindung, ausgeführt werden.

Zum Lernen benötigen Sie kein kommerzielles Unix. Sie können das Terminal von macOS, eine Linux-Distribution in einer virtuellen Maschine oder eine Linux-Umgebung unter Windows über WSL nutzen. Beginnen Sie damit, zwischen Verzeichnissen zu wechseln und Dateien in einem eigenen Übungsverzeichnis anzulegen – ohne Administratorrechte.

Siehe auch: Was ist Linux?

Lesen Sie auch

Wie PHP-FPM PHP-Anfragen verarbeitet, sich vom Webserver unterscheidet und wie du Prozesse an Last und Hosting-Ressourcen anpasst.
BIND ist offene DNS-Serversoftware. Erfahre, welche Aufgaben sie übernimmt und wann sich der Betrieb eines eigenen Servers lohnt.
Was Polens REGON-Register und seine Kennnummer bedeuten, wie sie sich von NIP und KRS unterscheiden und wie Sie Unternehmensdaten prüfen.