Der Anschluss an den Auftragseingang eines Subsystems erfolgt durch eine der folgenden Möglichkeiten:
implizit und global durch Bindebeziehung; dies ist nur zu bereits geladenen Subsystemen oder zwischen gleichzeitig geladenen Subsystemen möglich
implizit und taskspezifisch
durch eine subsystemspezifische SVC-, ISL- bISL- bzw. System-Exit-Routine
bei nicht-privilegierten Subsystemen durch DBL-Schnittstellen (BIND-Makro, START-PROGRAM, LOAD-PROGRAM und START-<produktname>, Autolink)
explizit und taskspezifisch durch systeminterne Makros ($ESMCON und $ESMCCS)
Der Anschluss an ein Subsystem umfasst:
Erzeugen einer Subtask, wenn entsprechender systeminterner Aufruf ($ESMCCS)
Anschließen an den Memory Pool, falls erforderlich
Wenn ein Subsystem mit MEMORY-CLASS=*BY-SLICE definiert wurde, wird der private Bereich in den lokalen Adressraum (Benutzeradressraum) kopiert. Wird das Subsystem erstmals gestartet, informiert DSSM das Subsystem BLSSERV darüber, dass mit dem Makro VSVI1 auf die Kopie im privaten Benutzeradressraum zugegriffen werden kann.
Übergeben der Adresse an die Task oder Aufruf des Subsystemcodes
Setzen des subsystemspezifischen Anschlussmerkers
Erhöhen des taskspezifischen Anschlusszählers (Ausnahme: bei Definition des Subsystems mit dem Attribut CONNECTION-SCOPE=*FREE)
Es kann auch ein Anschluss für Auftragseingänge hergestellt werden, die das Subsystem selbst verwaltet.
Das Aufheben eines Anschlusses erfolgt durch eine der folgenden Möglichkeiten:
implizit und taskspezifisch
durch Programm- bzw. Task-Beendigung
nach Rücksprung aus dem Subsystem-Auftragseingang, wenn dieser mit dem Attribut MODE=*SVC/*ISL und CONNECTION-SCOPE=*CALL definiert wurde
bei der Deaktivierung von Subsystemen mit CONNECTION-SCOPE=*OPTIMAL
explizit und taskspezifisch durch einen systeminternen Makroaufruf bei Beendigung einer SVC-Routine ($ESMDCN)
implizit und subsystemspezifisch bei Deaktivierung eines Subsystems, das mit dem Attribut CONNECTION-SCOPE=*FREE definiert wurde
Das Aufheben einer Beziehung enthält:
Weghängen vom Memory Pool
Wenn das Subsystem mit MEMORY-CLASS=*BY-SLICE definiert wurde, wird der Anteil aus dem Benutzeradressraum der angeschlossenen Task entladen.
DSSM informiert das Subsystem BLSSERV beim Aufheben der letzten Verbindung darüber, dass nicht mehr auf diesen privaten Anteil zugegriffen werden kann.Zurücksetzen des taskspezifischen Anschlussmerkers
Erniedrigen des subsystemspezifischen Anschlusszählers (Ausnahme: bei Definition des Subsystems mit dem Attribut CONNECTION-SCOPE=*FREE)
„Function detach“ bei explizitem Aufruf
Die beim Anschluss an die Task gelieferte Adresse kann nicht mehr verwendet werden.