DIRLEWANGERBERICHT

Programmiersystem4. Teil

02.09.1977

Die Aufsatzreihe befaßt sich mit Anforderungen, die aus Kundensicht an die Nachfolger der jetzigen Großrechenanlagen zu stellen sind. Der heutige Beitrag behandelt im Komplex "Programmiersystem" ("Programmiersystem" ist der Teil der Systemsoftware, der die Benutzeraufträge in eine der Hardware verständliche Form umwandelt) Dateien und Datenbanken.

Dateien

- Von allen am Rechner verfügbaren Sprachen aus sollten Zugriffsmöglichkeiten auf folgende Dateitypen bestehen: Sequentielle Dateien, Dateien mit (Pseudo-)Randomzugriff (z. B. index-sequentiell), Dateien mit (Pseudo-)Assoziativzugriff (z. B. Randomzugriff, wobei ein Teil des Satzes selbst als Satzname dient); die Verarbeitung soll einheitlich von allen Sprachen aus sein.

- Die genannten Dateitypen sollen sowohl als Permanentfiles wie auch als temporäre Files verfügbar sein; temporäre und permanente Files sollen einheitlich von Programmen aus gehandhabt werden können und einheitlich vom Betriebssystem verwaltet werden.

- Sowohl bei temporären wie auch bei permanenten Dateien müssen alle Benutzer in dem Sinn gegeneinander abgeschirmt sein, daß das System sehr wohl zwischen einer Datei mit Namen A des Benutzers X und einer mit demselben Namen A des Benutzers Y unterscheidet, d. h. Kollisionen von Dateinamen vermieden werden.

- Es soll jedoch möglich sein, daß eine Datei zu einer Gemeinschaftsdatei mehrerer Benutzer erklärt wird; dann soll Vielfachzugriff sowohl von Batchjobs wie auch von interaktiven Jobs aus möglich sein.

- Positionieren auf Sätze, Satznamen, Satzmarken usw. sowie Wechsel zwischen sequentieller, randommäßiger und assoziativer Bearbeitung einer Datei sollen in allen Programmiersprachen möglich sein.

- Die Verwaltung - insbesondere von permanenten Dateien - muß möglichst dynamisch sein. So wäre die Zuordnung eines festen Speicherplatzes (z. B 900K Bytes an den Benutzer X, 600K an Y usw.) viel zu starr.

- Bei Ausgabedateien soll eine Fortschreibung (z. B. per Generations-Versions-Nummer) von Dateien unter demselben Namen automatisch stattfinden.

- Die Kenndaten einer Datei (insbesondere der Name) sollen, soweit logisch sinnvoll, auch nach der Kreierung und Verwendung noch geändert werden können (z. B. Umbenennung).

- Die schnelle Erstellung von Kopien beliebiger Dateien muß möglich sein. Dabei sollen auf Wunsch Konsistenz- und Plausibilitätsprüfungen durchgeführt werden und ggf. Bereinigungen (z. B. Leersätze, ungültige Sätze entfernen; Stellvertreterlisten neu ordnen etc.) erfolgen.

- Es soll der Vergleich des Inhalts verschiedener Dateien einfach und schnell möglich sein, wobei auf Wunsch die Unterschiede protokolliert bzw. in einer weiteren Datei abgelegt

werden.

- Kennsätze von Magnetdatenträgern, insbesondere von Bändern sollen sich voll an die internationalen Normen halten.

- Insbesondere zur Erstellung und zum Test großer Programmsysteme ist es wünschenswert, "Scheindateien" zu haben, die das Betriebssystem nicht belasten (u. a. Pufferbereiche entbehrlich), die unnötige Gerätebelegungen vermeiden und die keine wirklichen E/A-Transporte verursachen. Sie werden - da ihr Inhalt zweckentsprechend meist sehr klein ist - im Hauptspeicher angelegt.

- Die Datei-Verwaltung muß der Verarbeitung sehr großer Datenmengen in besonderem Maße Rechnung tragen und leichte Programmierung ermöglichen. Dazu sind prinzipielle Vorkehrungen in Programmier- und Betriebssystem nötig, siehe nächste Punkte.

- Reihen von Magnetdatenträgern: Für Platten, Bänder, Floppy-Discs, Bandkassetten u.s.w. muß die komfortable Verarbeitung solcher Datenmengen, die sich auf mehrere derartige Träger verteilen, sichergestellt sein. Z. B. soll der Name des Folgeträgers auf dem vorhergehenden vermerkt sein und eine automatische Abprüfung auf richtigen Nachfolger erfolgen; es soll der Kennsatz jedes auf das E/A-Gerät aufgelegten Trägers vom Programm abgefragt werden können und ggf. ein automatischer Hinweis an Operateur und Programm erfolgen daß der falsche aufliegt; es soll mitgeteilt werden, wie der richtige heißt, usw.

- Eine Datei muß sich über mehrere Datenträger erstrecken können. Es muß (insbesondere bei Trägern mit geringerem Fassungsvermögen wie Bandkassette) möglich sein, daß ein Satz der Datei größer als der Inhalt eines einzelnen Trägers ist.

- Bei allen Magnetdatenträgern muß es möglich sein, für große Datenmengen "Wechselgeräte" zu verwenden. Beispiel: Magnetband; Ein-/Ausgabe derart, daß Spule 1 auf Bandgerät 4, Spule 2 auf Bandgerät 2, etc. liegt.

- Der Zugriff auf alle permanenten und temporären Datenbestände muß einheitlich bezüglich interaktivem und batchorientiertem Betrieb sein, wobei dem Benutzer die zum Datenschutz erforderlichen Sicherheitseinrichtungen bereitliegen sollen.

Datenbanken

- Ein leistungsfähiges Datenbanksystem gehört heute so fest zur Systemsoftware jeder größeren Rechenanlage wie die einschlägigen Sprachcompiler.

- Die Konstruktion des Datenbanksystems muß sich an einer internationalen Norm (z. B. CODASYL) sehr eng orientieren. Es muß von allen an der Anlage vorhandenen Programmiersprachen aus verwendbar sein (soweit von der jeweiligen Sprache her sinnvoll).