Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

UPAM - User Primary Access Method

UPAM ist die primäre blockorientierte Zugriffsmethode im BS2000 für wahlfreien Zugriff auf Plattendateien. Zu jedem Zeitpunkt kann auf einen beliebigen Block der Datei lesend oder schreibend zugegriffen werden.

Auch Banddateien können mit UPAM verarbeitet werden (siehe unten).

Mit dem Operanden BLKCTRL in den Makros FILE und FCB kann der Anwender wählen, ob eine K- oder eine NK-Datei verarbeitet werden soll: BLKCTRL=PAMKEY vereinbart eine K-PAM-Datei, BLKCTRL=DATA oder BLKCTRL=NO legt eine NK-PAM-Datei fest.

Auf einer NK2-Platte wird bei Angabe der Blockgröße mit BLKSIZE=(STD,n), wobei n eine gerade Zahl ist, eine NK4-PAM-Datei angelegt. Wenn n eine ungerade Zahl ist, wird eine NK2-PAM-Datei angelegt.
Auf einer NK4-Platte kann nur eine NK4-PAM-Datei liegen (siehe auch Kapitel „Zugriffsmethoden“, Handbuch „Einführung in das DVS“ [1]).

Durch die Angabe BLKSIZE=(STD,n) (n > 1) im FCB- oder FILE-Makro können mehrere 2048-Byte-Standardblöcke zu einem Datenblock (Logischen Block) zusammengefasst werden.
Bei einer K-PAM-Datei kann jeder Standardblock innerhalb des logischen Datenblockes im Programm angesprochen werden.

Bei einer NK-PAM-Datei kann nur der gesamte Datenblock (logischer Block) im Programm angesprochen werden; eine getrennte Verarbeitung der einzelnen 2048-Byte-Blöcke, aus denen er gebildet wurde, ist nicht möglich.

Bild 4: Arbeitsweise von UPAM

Makroaufrufe für die Zugriffsmethode UPAM

Service-Makroaufrufe

Makro

Operation

Funktion

OPEN


Datei eröffnen

CLOSE


Datei schließen

FCB


Dateisteuerblock definieren

EXLST


Fehlerausgänge definieren

PAM

CHK

Zustand der Ein-/Ausgabeverarbeitung prüfen

LOCK

eine PAM-Seite sperren

LRD

eine PAM-Seite sperren und den Inhalt in den Arbeitsspeicher lesen

LRDWT

eine PAM-Seite sperren, den Inhalt in den Arbeitsspeicher lesen und Abschluss der Ein-/Ausgabe abwarten

RD

PAM-Seite in den Arbeitsspeicher lesen

RDEQU

wie RDWT (siehe unten); zusätzlich wird bei Dateien mit Dual Recording by Volume die Kopie aktualisiert (DRV, siehe Handbuch „DRV“ [15])

RDWT

PAM-Seite in den Arbeitsspeicher lesen und Ein-/Ausgabe-Abschluss abwarten

SETL

Dateizeiger positionieren

SETLPP

Last Page Pointer (Dateiende-Zeiger) verändern; auf diese Weise können Dateien verkürzt werden, d.h. nach dem CLOSE können nicht mehr benötigte PAM-Seiten freigegeben werden. Diese Operation ist nicht zulässig für Dateien, die mit SHARUPD=WEAK/YES oder OPEN=INPUT eröffnet wurden. Bei Banddateien wird SETLPP ignoriert.

SYNC

auf Abschluss der Ein-/Ausgabe warten und den Inhalt des Magnetbandkassettenpuffers auf Band schreiben

UNLOCK

PAM-Seite freigeben

WRT

aus dem Arbeitsspeicher in eine PAM-Seite schreiben

WRTWT

aus dem Arbeitsspeicher in eine PAM-Seite schreiben und auf Abschluss der Ein-/Ausgabe warten

WRTWU

aus dem Arbeitsspeicher in die PAM-Seite schreiben, auf den Ein-/Ausgabe-Abschluss warten und die geschriebene PAM-Seite freigeben

WT

auf Abschluss der Ein-/Ausgabe warten


Makroaufrufe zur ereignisgesteuerten Verarbeitung

Die Makroaufrufe ENAEI, DISEI und SOLSIG müssen bei jeder Art von Ereignissteuerung aufgerufen werden; nähere Informationen zu den unten aufgelisteten Makroaufrufen sind dem Handbuch „Makroaufrufe an den Ablaufteil“ [2] zu entnehmen.

CHKEI

prüft den Zustand einer Ereigniskennung

CONTXT

greift lesend oder schreibend auf den Registersatz und Befehlszähler (den „Kontext“) eines unterbrochenen Contingency-Prozesses oder des Basisprozesses zu

DISEI

trennt einen Auftrag von einer Ereigniskennung

DISCO

entzieht einer Contingency-Definition die Möglichkeit, Contingency-Prozesse zu steuern

ENACO

ermöglicht einer Contingency-Definition die Steuerung von Contingency-Prozessen

ENAEI

weist einem Auftrag eine Ereigniskennung zu

LEVCO

ändert die Priorität eines Contingency-Prozesses oder des Basisprozesses

RETCO

beendet einen Contingency-Prozess

SOLSIG

sendet eine Anforderung an eine Ereigniskennung