os4_unix_unix_history
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ückzufu: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-U:bersetzer,
* Integration spezieller Hardware (z.B. Bitmap-Display).
Der hierfür notwendige Aufwand liegt weit unter dem, der fu: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 (Motorolä 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 u: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.
[IMG]
/home/http/wiki/data/pages/os4_unix_unix_history.txt · Zuletzt geändert: von 127.0.0.1
