06.10.2026 · Signal Titans Editorial
Zeilen vom PDP-7: Die fünfzigjährige Reise des Unix-Werkzeugs cat
Wie Ken Thompsons Unix-Werkzeug cat von 1969 über Assembler, C und BSD-Überarbeitungen hinweg entstand und moderne Betriebssysteme antreibt.

Im Jahr 1969 setzte sich Ken Thompson an einen PDP-7-Computer der Digital Equipment Corporation, um die ursprüngliche Version des Unix-Werkzeugs cat zu schreiben. Da die Programmiersprache C damals noch nicht existierte, verfasste Thompson das Programm in PDP-7-Assembler und nutzte dafür einen eigens von ihm entwickelten Assembler. Seine Erweiterungen erlaubten es unter anderem, mehrere Anweisungen durch Strichpunkte getrennt in einer einzigen Zeile zu notieren und temporäre numerische Labels von 0 bis 9 zu verwenden, um lokale Sprünge zu vereinfachen. Laut historischen Dokumentationen des Quellcodes enthielt diese erste Assembler-Implementierung von 1969 bereits frühe gepufferte Versionen der Routinen getc und putc für Ein- und Ausgabevorgänge.
Assembler-Grundlagen auf dem PDP-7
Die von Thompson für den PDP-7 entworfenen Assembler-Erweiterungen ermöglichten es den frühen Unix-Programmen, kompakt zu bleiben und gleichzeitig hardwarenahe Routinen effizient zu verwalten. Durch die temporären Labels von 0 bis 9 verringerte sich der Verwaltungsaufwand der Symboltabelle im Assembler erheblich. Thompson konnte dadurch numerische Sprungziele im gesamten Dateiverlauf wiederverwenden, ohne für jede kleine Verzweigung eigene Namen erfinden zu müssen.
PDP-11-Verfeinerung und der Übergang zu C
Mit der Portierung von Unix auf den PDP-11 der Digital Equipment Corporation wurde auch cat für den Befehlssatz des neuen Systems überarbeitet. Die PDP-11-Version passte das Verhalten des Werkzeugs so an, dass es direkt von der Standardeingabe las, wenn es ohne Dateiargumente oder mit einem einzelnen Bindestrich aufgerufen wurde. Ein grundlegender struktureller Wandel folgte mit der Seventh Edition von Unix, die die erste in C geschriebene Implementierung von cat einführte. Diese Version basierte auf einer klassischen zweizeiligen Leseschleife, die Zeichen bis zum Erreichen eines Dateiende-Signals verarbeitete. Sie unterstützte lediglich eine einzige Befehlszeilenoption: das Flag -u, welches die standardmäßige 512-Byte-Blockpufferung deaktivierte.
Die 4BSD-Optionen und Kevin Falls Net/2-Neuschreibung
Im Zuge der Weiterentwicklung von Unix im akademischen Umfeld erweiterte die vierte Version der Berkeley Software Distribution (4BSD) im Jahr 1980 die Befehlszeilenschnittstelle des Programms deutlich. Neue Flags wie -n, -b, -v, -s, -e und -t ermöglichten nun die Steuerung von Zeilennummerierung und Zeichenanzeige. Im Jahr 1989 führte der Informatiker Kevin Fall eine vollständige Neuimplementierung von cat für BSD Net/2 durch. Ziel dieses Projekts war es, den proprietären Unix-Quellcode von AT&T vollständig aus der Distribution zu entfernen. Fall strukturierte das Werkzeug neu und trennte die Ausführung in einen Raw-Modus für das reine Kopieren von Zeichen und einen Cooked-Modus für die Befehlszeilen-Formatierungsoptionen.
Moderne Betriebssysteme und die Beständigkeit von Code
Falls architektonischer Entwurf erwies sich über Jahrzehnte hinweg als bemerkenswert beständig. Apple übernahm im Jahr 2007 eine FreeBSD-Implementierung von cat aus dem Jahr 2005 – die auf Falls Grundstruktur basierte – in Mac OS X 10.5 Leopard. Auch wenn sich die umliegenden Softwarebibliotheken im Laufe der Zeit veränderten, blieb das Gerüst von Falls Codebasis aus dem Jahr 1989 in den Befehlszeilen-Werkzeugen des Systems erhalten. Wer heute den Quellcode von cat auf einem modernen macOS prüft, findet Kevin Falls Namen weiterhin ganz oben im Dateikopf.
Dass Falls Codestruktur nach all den Jahren auf Millionen moderner Laptops Dienst tut, verdeutlicht die langlebige Natur grundlegender Softwarebausteine. Während Benutzeroberflächen und moderne Anwendungs-Frameworks einem ständigen Wandel unterliegen, überdauern Kernwerkzeuge wie cat, weil ihre Kernmechanik grundlegende Aufgaben der Datenverarbeitung verlässlich löst. Code, der vor Jahrzehnten geschrieben wurde, bleibt so tief im Inneren moderner Betriebssysteme weiterhin produktiv im Einsatz.
KI-generierte redaktionelle Illustration; kein Dokumentarfoto.