Exit-Routinen sind Subsysteme.
Mit den Funktionen des Dynamischen Subsystem Managements (DSSM) kann die Systembetreuung im laufenden Betrieb Subsysteme verfügbar machen, anhalten, fortsetzen oder entladen.
Die statische Subsystemkatalog-Verwaltung (SSCM) generiert einen statischen Subsystemkatalog (SSMCAT), in dem die Subsystem-Konfiguration definiert ist. Dieser Subsystemkatalog wird durch die dynamische Subsystem-Verwaltung (DSSM) zum Zeitpunkt der Systemeinleitung geladen. Durch das Laden wird aus dem statischen ein dynamischer Subsystemkatalog.
Während des Systemlaufs kann der Subsystemkatalog durch das DSSM-KommandoADD-SUBSYSTEM verwaltet werden.
Mithilfe der Kommandos START-SUBSYSTEM, HOLD-SUBSYSTEM, RESUME-SUBSYSTEM, REMOVE-SUBSYSTEM und STOP-SUBSYSTEM können Subsystemedynamisch verwaltet werden.
Mit dem Kommando SHOW-SUBSYSTEM-STATUS kann die Systembetreuung Informationen über Subsysteme anfordern.
Mit dem Kommando SET-DSSM-OPTIONS kann eine Logging-Funktion für Diagnosezwecke eingeschaltet werden.
Wenn System-Exit-Routinen Entrys enthalten, die in anderen Subsystemen aufgelöst werden, müssen diese in der Deklaration des Subsystems (Anweisung SET-SUBSYSTEM-ATTRIBUTES, Operand REFERENCED-SUBSYSTEM) angegeben werden.
Wenn System-Exit-Routinen privilegierte Schnittstellen benutzen, die mit einem Subsystem verbunden werden (z.B. mit SPOOL), muss das Subsystem mit STOP-SUBSYSTEM vor dem Shutdown explizit beendet werden.
Ausführlichere Informationen zu DSSM und zu den Kommandos finden Sie in den Handbüchern „Verwaltung von Subsystemen“ [16] und „Kommandos“ [8].
Beispiel
Die Exit-Routine EXJOI010 soll als Subsystem deklariert werden. Standardwerte sind in den Anweisungen nicht angegeben; die Anweisungen sind im Handbuch „Verwaltung von Subsystemen“ [16] beschrieben.
/START-SSCM ——————————————————————————————————————————————————————————— (1) //START-CATALOG-CREATION CATALOG-NAME=$TSOS.SSMCAT.NEW ———————————————— (2) . . . //SET-SUBSYSTEM-ATTRIBUTES - // SUBSYSTEM-NAME=EXJOIN(VERSION=01.0),LIBRARY=EXLIB, - ————————————— (3) // REP-FILE=*NO,DYNAMIC-CHECK-ENTRY=*NO, - // CREATION-TIME=*AFTER-SYSTEM-READY, - // MEMORY-CLASS=*SYSTEM-GLOBAL(SUBSYSTEM-ACCESS=*SYSTEM), - ————————— (4) // SUBSYSTEM-ENTRIES=EXJOI010( - ———————————————————————————————————— (5) // MODE=SYSTEM-EXIT(NUMBER=10), - // CONNECTION-ACCESS=*SYSTEM, - // CONNECTION-SCOPE=*FREE),- ————————————————————————————————————— (6) // LINK-ENTRY=EXJOIN(AUTOLINK=*ALLOWED) ————————————————————————————— (7) . . . //CHECK-CATALOG //SAVE-CATALOG //END
(1) | Aufruf des Subsystems SSCM zur Generierung eines statischen Subsystemkatalogs (SSMCAT). |
(2) | Definieren der Datei, die den SSMCAT aufnehmen soll. |
(3) | Festlegen der subsystemspezifischen festen Attribute; der Name des Subsystems (EXJOIN) ist frei wählbar. |
(4) | Adressraumangaben; die Exit-Routine wird in den privilegierten Systemadressraum geladen. |
(5) | Definieren von Einsprungstelle (EXJOI010), Art des Subsystems (System Exit), Nummer des Exits und Zugriffsberechtigung nur für privilegierte Programme. |
(6) | Zusätzlich kann der Operand |
(7) | Steuerung des Binderlaufs bei der Erzeugung des Subsytems EXJOIN. |
Gemäß Subsystem-Deklaration im Beispiel oben wird die Exit-Routine nach System-Ready automatisch gestartet (Operand CREATION-TIME=*AFTER-SYSTEM-READY
).
Falls CREATION-TIME=*AT-CREATION-REQUEST
definiert wurde, muss die so deklarierte Exit-Routine mit dem Kommando
/START-SUBSYSTEM SUBSYSTEM-NAME=EXJOIN
im System verfügbar gemacht werden.
Mit dem Kommando
/HOLD-SUBSYSTEM SUBSYSTEM-NAME=EXJOIN
wird die Exit-Routine in den Wartezusstand versetzt.
Die angehaltene Exit-Routine kann mit
/RESUME-SUBSYSTEM SUBSYSTEM-NAME=EXJOIN
wieder aktiviert werden.
Das Kommando
/STOP-SUBSYSTEM SUBSYSTEM-NAME=EXJOIN
bewirkt Deaktivierung der Exit-Routine und Freigabe des belegten Speicherplatzes.
Die Funktionen HOLD und DELETE sperren zunächst die Exit-Routine gegen weitere Aufrufe und warten anschließend, bis der letzte Aufrufer die Routine verlassen hat. Erst dann wird die gewünschte Funktion durchgeführt.
Informationen über den aktuellen Status der Exit-Routine können mit dem Kommando
/SHOW-SUBSYSTEM-STATUS SUBSYSTEM-NAME=EXJOIN
angefordert werden.
Die aktive Version der Exit-Routine kann durch eine neue Version ersetzt werden. Die Voraussetzung ist, dass die neue Version mit dem Attribut VERSION-EXCHANGE=*ALLOWED
deklariert wurde, also die temporäre Koexistenz zweier Versionen eines Subsystems erlaubt.
Das Kommando lautet:
/START-SUBSYSTEM SUBSYSTEM-NAME=EXJOIN,
VERSION='02.2',VERSION-PARALLELISM=*EXCHANGE-MODE