next up previous contents
Next: MS-DOSund Unix(1980-90) Up: Entwicklung der Großrechner Previous: Transistoren und Stapelverarbeitung (1955-65)   Contents

Multiprogramming und Timesharing (1965-80)

Ein besonderes Problem bei der Stapelverarbeitung war es, dass während der Wartezeit auf Ein- bzw. Ausgaben die CPU jeweils nicht benutzt wurde. Dieses Problem war bei den wissenschaftlichen numerischen Berechnung eher nicht von Bedeutung, weil hier nur sehr wenige Ein-/Ausgaben-Operationen durchgeführt wurden. Im Gegensatz dazu konnten im kommerziellen Bereich schnell 80-90% der gesamten Rechenzeit Wartezeit auf Ein- und Ausgaben sein.

Ein Lösung bestand darin, den Speicher in mehrere Teile aufzuteilen und in jedem Teil ein separates Programm abzuspeichern. Wenn dann ein Programm auf eine Ein-/Ausgabe wartet, wurde ein anderes Programm von der CPU bedient. Diese Technik nennt man Multiprogramming. In der Folgezeit entwickelte sich das Multiprogramming zum Multitasking einer Technik, die heutigen Betriebssystemen immernoch ganz wesentlich ist. Im Kapitel [*] werden wir uns damit ausführlich beschäftigen.

Eine weitere Neuerung bestand darin, dass nun Lochkarten nicht mehr auf Bänder gespeichert werden mussten, sondern auf Platten eingelesen werden konnten. So war es möglich, dass im laufenden Betrieb neue Programme eingelesen wurden und diese immer dann in den Speicher geladen wurden, wenn ein anderes Programm seine Berechnungen beendet hatte. Diesen Vorgang nennt man Spooling (Simultaneous Periphical Operation On Line). Für die Ausgabe wurde auch die Spooling-Technik verwendet. Diese Technik ist ein Vorläufer des modernen Speichermanagements, welches wir in Kapitel [*] betrachten werden.

Beim Multiprogramming bestand aber nach wie vor wie bei der Stapelverarbeitung das Problem, dass vom Einspielen des Programms und der Daten bis zum Erhalt der Ausgabedaten mehrere Stunden vergehen konnten. So konnte ein kleiner Programmierfehler in einem Fortranprogramm den Programmierer leicht einen halben Tag kosten. Dieses Problem ebnete den Timesharing-Systemen den Weg. Hier konnten mehrere Benutzer gleichzeitig über Terminals Zugang zum Rechnersystem haben. Dabei war es möglich, Benutzern für kurze interaktive Kommandos Rechenzeit einzuräumen. Lange rechnende Programme wurden dann im Hintergrund immer dann weitergerechnet, wenn gerade kein Benutzer ein interaktives Kommando abgesetzt hat. Auch das Prinzip des Timesharings ist uns heute wohlbekannt. Setzen wir uns an einen Rechner der gerade eine größere Berechnung durchführt und machen eine Eingabe (z.B. über Tastatur oder Maus), so erwarten wir, dass diese auf dem Bildschirm innerhalb kürzester Zeit nachvollzogen wird und die Berechnung solange unterbrochen wird.

Eine wesentliche Weiterentwicklung wurde mit den Rechnerwerkzeug MULTICS (MULTiplexed Information and Computuing System) erzielt. Dieses Werkzeug sollte Hunderten von Timesharing-Benutzern gleichzeitig das Rechnen ermöglichen. Wenn dieses Projekt auch nach einiger Zeit im Sande verlief, so war MULTICS doch entscheidend für die Entwicklung von UNIX.


next up previous contents
Next: MS-DOSund Unix(1980-90) Up: Entwicklung der Großrechner Previous: Transistoren und Stapelverarbeitung (1955-65)   Contents
Prof. Dr. Pluemicke 2003-05-10