Betriebssystem

3. Teil

23.09.1977

Dr. Werner Dirlewanger, Institut für Informatik Universität Stuttgart

In dieser Folge geht es um die Auftragsablaufsteuerung. Mit einbezogen wird dabei, daß zukünftige Systeme weitgehend ohne die heute nötigen permanenten Bedienungs- und Steuerungstätigkeiten arbeiten sollen (operateurloser Betrieb).

Batchjobverarbeitung

- Batchjobeingabe und Ergebnisrückgabe soll unter anderem auch an allen Dialogterminals möglich sein.

- Sind mehrere Jobs in der Maschine, dann soll der Benutzer deren Abarbeitungsreihenfolge vorgeben können.

- Auf Benutzerwunsch sollen eingegebene Jobs zu bestimmter Zeit (zum Beispiel Mittwoch, 8.00 Uhr) oder bei bestimmtem Ereignis (etwa: Ende Dateneingabe an Terminal 8) gestartet werden. "Daueraufträge" (wie: Start täglich 9.00 Uhr; Start an jedem

ersten Monatstag; Start, wenn von Buchungsterminals mindestens 1 Stunde keine Eingabe kam) sollen möglich sein.

- Jobeingabe soll zu jeder Zeit und unabhängig vom Rechner-Belegungszustand von allen Terminals und Datenstationen vom Benutzer selbst (kein Operateur) möglich sein. Die zu erwartenden Turn-around-Zeiten sollen laufend angezeigt werden (wie: Expreßjob zur Zeit 4 Minuten; Normaljob augenblicklich 26 Minuten; Longjob vom Typ 4 zur Zeit 9 Tage).

- Es soll "Tiefschlaf" von Jobs möglich sein, das heißt, ein teilweise bearbeiteter Job soll auf Benutzerwunsch oder auf Rechenzentrumswunsch (Beispiel: 1 Prozessor ausgefallen und nur verminderte Leistung der Anlage) in weiterbearbeitbarer Form

auf Externspeicher (Platte, Band, Massenspeicher) verlegt und zu beliebiger Zeit zur Weiterbearbeitung geholt werden können.

- Soll ein Interaktiv-Job gemäß Benutzerangabe ab einem bestimmten Zeitpunkt im Batchmodus weiterbearbeitet werden (Jobklassenwechsel), dann soll er so in die Warteschlangen eingereiht werden, als wäre er soeben als reiner Batchjob eingegeben worden (Neueinplanung ins Spooling, unabhängig von den Betriebsmittelanforderungen bei Start des Jobs in Interaktivform).

Interaktivjobverarbeitung

- Nach Eingabe eines Kommandos, das wenig CPU-Zeit benötigt (Textzeile eingeben Edit-Funktion ausführen), soll die Reaktion des Rechners in allen Betriebssituationen schnell erfolgen (Ausführungsdauer des Kommandos nicht über 1 bis 2 Sekunden).

- Ist nach Eingabe eines Kommandos nicht abzusehen, wieviel CPU-Zeit benötigt wird (für Kompilieren, Sortieren, Starten eines Rechenlaufes), dann soll innerhalb einer Sekunde eine Vorabantwort kommen (wie: Kommando verstanden, Ausführung dauert 1 Minute, mehr als 10 Minuten; unbekannt lange . . .).

- Ausgaben des Rechners sollen sofort nach Erzeugung am Terminal erscheinen und nicht gesammelt ausgegeben werden; also: Ausgabe von Fehlertexten während des Compilierens jeweils sofort, und nicht ) in Form eines Blockes erst dann, wenn der Compilationsvorgang abgeschlossen ist (bessere Verfolgbarkeit des Arbeitsablaufes).

- Die Anzeige von Textdateien am Bildschirm soll so erfolgen, daß Rückwärts- und Vorwärtsblättern wie in einem Buch möglich ist (Blättern in Dateien).

- Es soll bei der Anzeige von Rechenoutput und beim Blättern in Dateien möglich sein, daß beliebige Seiten ausgelassen werden, um schnelles Vor- und Zurückgehen im Text zu ermöglichen (insbesondere für Terminals, die nicht Bildschirmausgabe, sondern Schreibmaschinenausgabe haben).

- Auf Benutzerwunsch oder (automatisch) im Falle von längeren Dialogpausen - etwa wenn 10 Minuten keine Eingabe erfolgte - soll ein Interaktivjob in "Schlaf" versetzt werden. Damit soll das betreffende Terminal frei werden und für andere Jobs verwendbar sein. "Schlafende" Interaktivjobs sollen von beliebigem Terminal aus "wiedererweckt" werden können.

Realtimejobverarbeitung

- Realtimejobabwicklung bei gleichzeitigem Batch- und Interaktivbetrieb soll für spezielle Anwendungen möglich sein (indem etwa bei Mehrprozessoranlagen ein Prozessor für Realtime und die anderen für Batch und Dialog zuständig sind).

- Bei Batchjobs soll der Benutzer (gegebenenfalls gegen höhere Gebühr) eine Uhrzeit für die Fertigstellung des Jobs vorgeben können (Realtime bei sehr langem Zeitmaßstab).

Job-Kommunikation und -Verfolgbarkeit

- Parallel-Lauf von Jobs und Mechanismen zur gegenseitigen Steuerung von Jobs sind nötig; desgleichen Möglichkeiten zum Austausch von Informationen zwischen Jobs und ähnlichem. Dies soll bei allen höheren Sprachen vorhanden sein (COMMUNIKATIONS von COBOL).

- Der Zustand der Verarbeitung sowie der Fortschritt der Bearbeitung sollen für alle Jobarten und von allen Datenstationen, Terminals usw. durch geeignete Auskunftsmechanismen vom Benutzer jederzeit abgefragt werden können.

- Alle wesentlichen Schritte eines Jobs sowie alle den Job betreffenden Eingriffe des Rechenzentrums (Joblauf wegen Rechnerstörung unterbrochen Jobabbruch, Jobende, Job zeitweilig im Tiefschlaf) sollen mit Angabe von Datum, Zeit, Name des eingreifenden Operateurs beziehungsweise Benutzers unverlierbar und in maschinell weiterverarbeitbarer Form abgelegt werden (etwa im Dayfile). Diese Daten müssen auch dem Benutzer leicht zugänglich sein (gegebenenfalls gegen Legitimation!).