unix_history




BACK ..


Die Entwicklung von UNIX Als Ken Thompson 1969 bei Bell Laboratories, einer gemeinsamen Tochter der Firmen AT&T und Western Electric, die Entwicklung eines neuen Betriebssystems begann, waren die meisten der vorhandenen Systeme ausgesprochene Closed Shop - Batch Systems d.h., der Programmierer gab seine Lochkarten oder Lochstreifen beim Operateur ab, diese wurde in den Rechner eingelesen und ein Rechenauftrag nach dem anderen abgearbeitet. Der Programmierer konnte dann nach einiger (in der Regel längeren) Zeit seine Ergebnisse abholen. Auch Modernere Systeme mit der Möglichkeit interaktiver Benutzersitzungen wie z.B. MULTICS waren noch stark vom Batch-Betrieb beeinflusst. Ziel von Ken Thompsons Entwicklung war es deshalb, ein System zu schaffen, auf welchem mehrere Programmierer im Team und im Dialog mit dem Rechner arbeiten, Programme Entwickeln, korrigieren und dokumentieren konnten, ohne von einem Grossrechner mit allen seinen Restriktionen abhängig zu sein. Daneben standen Funktionalität, strukturelle Einfachheit und Transparenz sowie leichte Bedienbarkeit im Vordergrund der Entwicklung. Dieses erste System mit dem Namen UNIX lief auf einer PDP-7, einem Kleinrechner der Firma Digital Equipment Corporation (DEC). Die erste Version von UNIX war dabei in der Assemblersprache der PDP-7 geschrieben. Um bei zukünftigen Projekten die Maschinenabhängigkeit durch die maschinennahe Sprache zu umgehen, entwarf Thompson die Programmierersprache B, aus der dann Dennis Ritchie die Sprache C entwickelte. UNIX wurde dann 1971 in C umgeschrieben und auf die PDP-11 (DEC) übertragen. Von nun an erfolgte die Weiterentwicklung des Systemkerns sowie der meisten Dienstprogramme in dieser Sprache. Die Kompaktheit und Strukturelle Einfachheit des Systems ermunterte viele Benutzer zur eigenen Aktivität und Weiterentwicklung des Systems, so dass UNIX recht schnell einen relativ hohen Reifegrad erreichte. Dies ist deshalb bemerkenswert, da kein Entwicklungauftrag hinter diesem Prozess stand und die starke Verbreitung von UNIX nicht auf den Vertrieb oder die Werbung eines Herstellers, sondern primär auf das Benutzerinteresse zurückzuführen ist. Hilfreich hierbei war sicherlich jedoch auch, dass für Hochschulen und Universitäten die UNIX-Quellcodelizenz bisher praktisch für die Kopier- und Dokumentationkosten von Bell Laboratories abgegeben wurde. Dass die ursprünglich angestrebten Ziele trotz zahlreicher funktionaler und qualitativer Erweiterungen auch heute noch weitgehend erhalten sind, zeigt sich darin, dass der Kern des UNIX-Systems nur aus etwa 20.000 Zeilen Programm besteht, von denen rund 2000 Zeilen in Assembler geschrieben sind. Maschinenabhängige Assemblerteile werden dabei nur dort verwendet, wo hohe Effizienz oder spezielle Maschineneigenschaften dies notwendig machen. Die durch die höherer Programmiersprache C erreichte Maschinenunabhängigkeit stimulierte die baldige Übertragung des UNIX-Systems auf zahlreiche weitere Rechner. Dieser Prozess ist bis heute noch nicht abgeschlossen. So existieren heute z.B. Implementierung für folgende Rechner:

CPU-Serie:
CPU-Hersteller


C50, C70
BBN Computer
Honeywell 6000
Honeywell Bull
HP 9000
Hewlett Packard
IBM/370, IBM/43xx
IBM
MC68000, MC68020
Motorola
NS32016, NS32032
National Semiconductor
PDP-7, PDP-8, PDP-11, VAX-Serie
DEC
Perkin Elmer 32-Bit Systeme
Perkin Elmer
Serie/1
IBM
VM/370, VM/470
Amdahl
Z80, Z8000
Zilog
8080, 8086, 80186, 80286
Intel
   Dabei werden für viele der genannten Prozessoren von mehreren Firmen
          UNIX-Software-Systeme angeboten.

   Eine Übertragung auf einen neuen Rechner geschieht in folgenden
   Schritten:

     * Erstellung eines C-Übersetzers, welcher den Code für die neue
       Zielmaschine erzeugt,
     * Adaption des kleinen, in Assembler geschrieben hardwareabhängigen
       Systemkerns (etwa 2000 Zeilen ). Hierzu gehört auch die Anpassung
       an die Speicherverwaltungseinheit (Memory Management Unit) den
       neuen Hardware.
     * Anpassung der Ein-/Ausgabe-Treiber an die neue Hardware,
     * Übersetzung des UNIX -Systems mit dem neuen C-Übersetzer,
     * Integration spezieller Hardware (z.B. Bitmap-Display).

   Der hierfür notwendige Aufwand liegt weit unter dem, der für die
   Neuerstellung eines Systems notwendig ist. Hinzu kommt, dass mit UNIX
   ein sehr umfangreiches und breites Spektrum an fertiger und in der
   Regel preiswerter Software zur Verfügung steht.

   Es gibt zahlreiche andere Vertriebsfirmen, welche ein teilweise
   erweitertes oder für spezifische Belange adaptiertes UNIX sowie
   UNIX-Varianten und UNIX-ähnliche Systeme anbieten. Zu solchen
   Portierungen gehören, um nur einige zu nennen:

Systemename:
Hersteller oder Systemhaus:


BSD
University of California at Berkeley
Coherent
Mark Williams Co
Cromix
Cromenco
DG/UX
Data General
EDITION VII
Perkin-Elmer
IDRIS
Whitesmith Ltd
IS/1, IS/5
Interactive Systems, Inc
JOS
CRDS
MUNIX
PCS
OS-1
Software Labs
PNX
ICL
SINIX
Siemens
UCB
University of Californian at Berkeley
ULTRIX
DEC
Unica
Knowlogy
UNIPLUS+
Unisoft (Motorola: MC68000, MC68010)
UTS
Amdhal
UX
Hewlett Packard
VENIX
VenturCom Inc.
XELOS
PERKIN-ELMER
XENIX
Microsoft Co. (Intel: 8086, 8088, 80186, 80286)
ZEUS
Zilog
   Deneben gibt es eine Reihe von UNIX-Systemen, welche als speziellen
   Modus oder als Untersystem unter anderen Betriebssystemen laufen.
   Hierzu gehören z.B.:
Systemname:
Hersteller/Systemhaus:
Hauptsystem:



EUNICE
WOLLONGONG
VMS
EUNIX
Electronic Info System, Inc.
VMS
IX/370
IBM/Interactive Systems
VM
MX/UX
Data General
OAS/VS
VNX
DEC
VMS
VM/UTS
Amdahl
VM
   Die ursprüngliche Ausgangsbasis der meisten der genannten Systeme war
   die seit 1979 verfügbare UNIX-Version 7 (siehe hierzu Bild 2.1). Seit
   1982 bietet Western Electric Corporation eine neue UNIX-Version
   UNIX-System III an und ab März 1983 den Nachfolger UNIX-System V.
   Diese sind gegenüber Version 7 überarbeitet, enthalten
   Laufzeitoptimierungen und wurden neben neuer Netzwerksoftware um ein
   Softwarepaket erweitert, welches unter der Bezeichnung Programmers
   Work Bench (PWB) bekannt ist. Dieses Paket stellt spezielle Werkzeuge
   für die Entwicklung und Verwaltung grösserer Softwarepaket zu
   Verfügung.

   Die neueste UNIX-Version (UNIX V) enthält daneben zahlreiche neue
   Programme zur Unterstützung graphischer Darstellungen. AT&T hat dieses
   System V 1983 zum Quasistandard erklärt und zugleich
   Portierungsverträge mit einigen den wichtigsten
   Mikroprozessorherstellern (Intel, Motorola, National Semiconductor,
   Zilog) geschlossen. Dies erzeugte eine stark normierende Marktkraft.
   Auch die Firma IBM ist mit ihrem 1985 vorgestellten UNIX-System IX-370
   diesem Trend gefolgt. Das System entspricht weitgehend UNIX System V.

   Der überwiegende Teil der oben genannten Systeme, welche auf 16- oder
   32-Bit Prozessoren laufen, dürfte im Laufe der nächsten Jahre - soweit
   sie dies nicht bereits getan haben - diesen Wechsel nachvollziehen.
   Hierzu wird entscheidend die Implementierung des System V Standards in
   Xenix beitragen, da dieses speziell für kleine Maschinen adaptierte
   System eine sehr grosse Anzahl von Installationen aufweist. Diese
   Implementierung ist für Ende 1985 vorgesehen.

   Neben den aufgezählten UNIX-System gibt es auch eine Reihe von
   Weiterentwicklungen an Universitäten und Forschungsinstituten wie z.
   B. Die der Havard Universität und die der Rand Corporation. Eines der
   bekanntesten Erweiterungspakete stammt dabei von der Universität von
   Californien Berkeley und ist unter dem Namen Berkeley-UNIX bzw. BSD
   (für Berkeley System Distribution) bekannt geworden. Die auf der VAX
   laufende Version des Berkeley -UNIX ist dabei ein virtuelles System
   mit demand paging. Die VAX -Version von Western Electric (V32)
   hingegen arbeitet (bis zu System V.2 Release 1) mit einer
   Speichersegmentierung und Swapping-Technik, wobei der Adressraum der
   Programme auf den real vorhandenen Speicher beschränkt ist.


                       Und so ging es dann weiter...

...und 1995 hat sich aus NetBSD noch OpenBSD herrausgebildet.