Dateiformat
FASTPAM bearbeitetet nur PAM-Dateien mit den Attributen BLKCTRL=NO/DATA und BLK-SIZE=(STD,2n), wobei n=1,2,3...8 ist. Dateien, die dieses Format nicht aufweisen, müssen zunächst konvertiert werden. Dateien mit dem Attribut BLKCTRL=DATA werden mit einem Block-Kontrollfeld versehen.
FASTPAM-Berechtigung
Sie benötigen einen Eintrag im Benutzerkatalog, der Sie berechtigt, über FASTPAM-Aufrufe residenten Speicher zu erhalten. Beim Aufruf des Kommando SHOW-USER-ATTRIBUTES muss im Feld DMS-TUNING-RESOURCES der Wert *EXCLUSIVE eingetragen sein. Haben Sie diese Berechtigung nicht, so können Sie zwar mit der Zugriffsmethode FAST-PAM arbeiten, doch werden keine Bereiche resident gehalten. FASTPAM verhält sich in diesem Fall wie UPAM: vom System wird nur ein kleiner, nicht-residenter Teil der Ein-/Ausgabepfade angelegt; der Bereich der Parameterlisten und des IO-Area-Pools wird nicht fixiert. Die Folge ist, dass bei jeder Ein-/Ausgabe die Pfade neu angelegt und die Benutzerbereiche validiert und fixiert werden müssen, wodurch die FASTPAM-typischen Performance-Gewinne verloren gehen.
Für den Fall, dass keine Speicherresidenz erreicht werden kann, verhält sich FASTPAM wie bei Fehlen der FASTPAM-Berechtigung. Es wird dadurch ein dem UPAM äquivalentes oder besseres Performance-Verhalten geboten.
Speicherbereiche resident machen
Ein wesentlicher Zweck von FASTPAM besteht darin, hochperformante Dateizugriffe zu ermöglichen, indem bereits vor dem ersten Dateizugriff die notwendige Systemumgebung resident bereitgestellt wird.
Hierzu wird der Speicherbereich, der die Benutzerparameterlisten enthält, sowie der Speicherbereich, der die IO-Areas enthält (beide vom Benutzer zur Verfügung gestellt), durch das „FASTPAM-Seitenfixieren“ speicherresident gemacht.
Dies ist im Wesentlichen derselbe Vorgang, der bei anderen Zugriffsmethoden bei jeder Ein-/Ausgabe für die IO-Area von PPAM ausgeführt wird. Nur wird bei diesen anderen Zugriffsmethoden die IO-Area nach Abschluss der Ein-/Ausgabe wieder freigegeben.
Bei FASTPAM bestimmen Sie durch ENABLE/DISABLE ENVIRONMENT, wie lange die Parameterlisten fixiert sind, und durch ENABLE/DISABLE IOAREA POOL, wie lange die IO-Areas fixiert sind. Während dieser Zeit können Sie damit arbeiten. Die Validierung muss nur anfangs einmal erfolgen, da ein Freigeben fixierter Bereiche nicht möglich ist.
Außerdem wird bei ENABLE ENVIRONMENT der für die Ein-/Ausgaben benötigte Systemspeicher angefordert (je 1* pro parallel mögliche IO). Der größte Teil dieses Speichers, der von IOCTRL verwendete Bereich, ist immer resident. Dies ist auch bei anderen Zugriffsmethoden der Fall, doch wird er bei anderen Zugriffsmethoden für jede Ein-/Ausgabe neu zugeteilt und nicht permanent belegt.
Des Weiteren besteht dieser Systemspeicher aus einer FASTPAM-Workarea, die vor allem die Parameterliste zum Aufruf von PPAM enthält.
Alle diese Fixierungen erfolgen jedoch nur, wenn die Benutzerkennung über die FASTPAM-Berechtigung verfügt.
In diesem Fall – und wenn die betreffenden Fixierungen durchgeführt werden konnten – kann man von einem „residenten“ Environment bzw. einem „residenten“ IO-Area-Pool sprechen.
„Residentes Environment“ bedeutet:
residente vorvalidierte Parameterlisten
vorbestellter Systemspeicher
residente FASTPAM-Workarea
„Residenter IO-Area-Pool“ bedeutet:
residente vorvalidierte IO-Areas
Voraussetzungen für residente FASTPAM-Bereiche
Es werden die entsprechenden Parameter angegeben
(Makro FPAMSRV, FCT=*ENAENV/*ENAIPO, Operand RES=YES)der Aufrufer verfügt über die FASTPAM-Berechtigung
es wird nicht mit Datenräumen gearbeitet
es ist genügend freier Hauptspeicherplatz vorhanden
die beim Programmaufruf zugeteilten residenten Seiten reichen aus (Kommando START-EXEC-PROGRAM/LOAD-PROGRAM, Operand RESIDENT-PAGES);
Voraussetzung für die Zuteilung residenter Seiten beim Programmaufruf ist, dass die im Benutzerkatalog festgelegte Höchstgrenze und die systemglobale Grenze für residente Speicherseiten nicht überschritten wird.