Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Verwaltung des dynamischen Subsystemkatalogs

Erweitern des dynamischen Subsystemkatalogs

Während des Systemlaufs kann die aktuelle dynamische Subsystem-Konfiguration von der Systembetreuung erweitert werden (Kommando ADD-SUBSYSTEM). Der Katalog für die neue Subsystem-Konfiguration muss mit SSCM generiert werden und es müssen folgende Punkte beachtet werden:

  • Der neue Katalog kann wahlweise größer als der alte sein (d.h. auch alle Subsysteme des alten Kataloges enthalten) oder als „Delta“-Katalog angelegt sein und lediglich die neuen Definitionen von Subsystemen enthalten.

  • Der „alte“ Subsystemkatalog, der während Startup benutzt wurde, wird nicht automatisch aktualisiert. Beim nächsten Startup ergeben sich folgende Möglichkeiten:

    • der „neue“ Katalog wird benutzt

    • ein ganz neu erstellter Katalog wird benutzt, in dem z.B. die nicht mehr benutzten Versionen von Subsystemen nicht mehr enthalten und Änderungen von Eigenschaften (wie z.B. CREATION-TIME) bereits vorgenommen sind

  • Anweisung ASSIGN-HOLDER-TASK

    Die Anweisung darf nicht für alte und neue Subsysteme gegeben werden.

    Beispiel

    Subsysteme im alten Katalog: A, B, C
    Subsysteme im neuen Katalog: A, B, C, D und E

    dann ist erlaubt:

    //ASSIGN-HOLDER-TASK TYPE=SHARED-HOLDER(BY-SUBSYSTEMS=(A,B)) 
    //ASSIGN-HOLDER-TASK TYPE=SHARED-HOLDER(BY-SUBSYSTEMS=(D,E)) 
    

    dann ist nicht erlaubt:

    //ASSIGN-HOLDER-TASK TYPE=SHARED-HOLDER(BY-SUBSYSTEMS=(A,B,E))

  • Anweisung SET-SUBSYSTEM-ATTRIBUTES

    Der Operand CREATION-TIME für ein neues Subsystem muss verträglich sein mit den bereits existierenden Versionen des Subsystems in der alten Subsystem-Konfiguration.

    Beispiel

    Subsystem X in der Version 1 ist im alten Katalog deklariert mit CREATION-TIME=*AT-SUBSYSTEM-CALL. Dann kann Subsystem X in der Version 2 im neuen Katalog nur CREATION-TIME=*AT-CREATION-REQUEST haben.

    Falls für ein neues Subsystem CREATION-TIME=*BEFORE-SYSTEM-READY oder *AFTER-SYSTEM-READY ist, dann wird das Subsystem nicht kreiert, da der Zeitpunkt „SYSTEM READY“ (Systemeinleitung) nicht mehr gegeben ist. Es erfolgt eine entsprechende Meldung.

    Neu hinzuzufügende Subsysteme mit den Attributen MEMORY-CLASS=*LOCAL-PRIVILEGED (Klasse-5-Speicher) dürfen weder die Breite des System- bzw. Benutzer-Adressraum-Streifens noch die Lage der alten Subsysteme in diesem Streifen ändern.

    Es dürfen keine Abhängigkeiten von alten zu neuen Subsystemen deklariert werden (Operanden REFERENCED-SUBSYSTEM und RELATED-SUBSYSTEM).

    Beispiel

    Subsysteme im alten Katalog: A, B, C
    Subsysteme im neuen Katalog: A, B, C, D und E

    Wenn X --> Y bedeutet, dass X zur Auflösung von Extern-Aufrufen Y benötigt,

    dann ist

    A --> D nicht erlaubt,
    D --> E erlaubt,
    D --> B,C erlaubt.

  • Anweisung SEPARATE-ADDRESS-SPACE

    Neue und alte Subsysteme dürfen disjunkt sein, sich also adressmäßig überschneiden.

    Beispiel

    Subsysteme im alten Katalog: A, B, C
    Subsysteme im neuen Katalog: A, B, C, D und E

    Wenn X --> Y bedeutet, dass X zu Y disjunkt ist,

    dann ist

    A --> D erlaubt,
    D --> E erlaubt,
    D --> B,C erlaubt

Dynamische Änderungen von Subsystem-Attributen

Mit dem Kommando MODIFY-SUBSYSTEM-PARAMETER ist es möglich, Eigenschaften von Subsystemen dynamisch zu ändern. Es ist weder ein Shutdown noch das Hinzufügen einer neuen Version des Subsystems nötig. Mit dem Kommando SAVE-SUBSYSTEM-CATALOG werden die Konfigurationsänderungen für den nächsten Startup abgespeichert.

Diese Möglichkeiten sind vor allem in folgenden Situationen hilfreich:

  • Um ein Subsystem stoppen zu können, müssen alle angeschlossenen Tasks ihre Verbindung abgebaut haben. Wurde das Subsystem nicht mit dem Attribut FORCED-STATE-CHANGE=*ALLOWED definiert, besteht keine Möglichkeit, das Deaktivieren des Subsystems zu beschleunigen. Ist dies aber aus bestimmten Gründen nötig, kann mit dem Kommando MODIFY-SUBSYSTEM-PARAMETER das Attribut dynamisch geändert werden.

  • Kommt es zu einer Memory-Pool-Kollision, weil z.B. zwei Subsysteme an derselben Adresse liegen und die Task nur eins von beiden nutzen kann, ist es mit dem Kommando MODIFY-SUBSYSTEM-PARAMETER möglich, die Adressen der Subsysteme zu ändern und so die Memory-Pool-Kollision zu vermeiden.