Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Gemeinsam benutzbare Programme (Shared Code)

Jedes Modul, das ein Benutzer ausführt, wird entweder in den tasklokalen Klasse-6-Speicher oder in den Speicher für gemeinsam benutzbare Programme (Shared Code) geladen. Die Module im tasklokalen Klasse-6-Speicher können nur durch die Task ausgeführt werden, die deren Laden veranlasst hat. Diese Module bilden den so genannten privaten Teil eines Programmes.

Der Speicher für Shared Code ist ein Speicherbereich, in dem ein- und diesselbe Kopie der auszuführenden Module von mehreren Tasks gleichzeitig ausgeführt werden kann. Gemeinsam benutzbare Module bilden den PUBLIC-Teil eines Programmes und müssen ablaufinvariant programmiert sein. Ein solches Programm muss Datenbereiche, die variable benutzereigene Daten aufnehmen sollen, dynamisch anfordern und im Klasse-6-Speicher des jeweiligen Benutzers anlegen. Der Benutzer kann den Shared Code entweder direkt ausführen (mit START-EXECUTABLE-PROGRAM bzw. START-PROGRAM) oder über ein privates Programm darauf zugreifen. Die Externverweise im privaten Programm können automatisch durch Programmdefinitionen (CSECTs, ENTRYs) im Shared Code befriedigt werden.

Vorteile gemeinsam benutzbarer Programme

  • Da ein Modul nur einmal geladen wird, spart man für alle folgenden Aufrufe die Ladezeit.

  • Haupt- und Seitenspeicher werden entlastet, da es nur eine einzige Kopie des Moduls im Speicher für Shared Code gibt (nicht jede Task besitzt eine eigene Kopie in ihrem Klasse-6-Speicher, siehe Bild 5 am Beispiel von Shared Code des Systems).

  • Die Seitenwechselrate verringert sich, da sich nur eine Kopie im Seitenwechselbereich befindet und weil „nur lesbare“ Seiten nicht auf den Seitenspeicher zurückgeschrieben werden, wenn sie im Hauptspeicher nicht mehr benötigt werden, d.h. eine Aktualisierung des Seitenspeichers ist für sie unnötig.

Der Einsatz von gemeinsam benutzbaren Programmen ist also für große Programme vorteilhaft, die längere Zeit im Speicher stehen (Dialog-, Transaktionsbetrieb) und evtl. von mehreren Benutzern gleichzeitig verwendet werden.

Bild 5: Wirkung der gemeinsamen Benutzbarkeit eines Programms

Der DBL bietet verschiedene Möglichkeiten für das Laden und die Verwaltung von Shared Code.