Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

DMPRALL, DMSCALL, DMMAXSC

Diese drei Systemparameter sind aufeinander abgestimmt festzulegen. Sie dienen als Voreinstellungen für die Platzzuweisung beim Einrichten und Erweitern von Dateien. Die Werte gelten für alle Private Volumes. Für Pubsets gelten sie nur, wenn im MRSCAT-Eintrag des Pubsets nichts anderes festgelegt wurde. Zusätzlich wird die beim Einrichten des Pubsets mit SIR angegebene Allocation-Unit abhängig vom Datenformat (K, NK2, NK4) berücksichtigt.

Dabei wird in folgender Reihenfolge nach definierten Werten gesucht:

  1. Direkte Angabe in den Kommandos /CREATE-FILE oder /MODIFY-FILE-ATTRIBUTES

  2. Eintrag im MRSCAT

    • Erfolgt die Angabe mit /MODIFY-MASTER-CATALOG-ENTRY (Operand ALLOCATION),
      so wird die Änderung erst nach dem nächsten Importieren des Pubsets gültig.

    • Bei Verwendung von /MODIFY-PUBSET-SPACE-DEFAULTS
      (Operand PRIMARY-ALLOCATION / SECONDARY-ALLOCATION / MAX-ALLOC) wird die Vereinbarung sofort gültig.

  3. Angabe über Systemparameter

Wenn die so ermittelten Werte kein Vielfaches der beim Einrichten des Pubsets mit SIR festgelegten Allocation Unit sind, dann werden sie auf das nächste Vielfache aufgerundet.

Primärzuweisung

Parametername

Werte-Bereich

STD-Wert

DMPRALL

3...65535

3

Primärzuweisung für eine Datei in PAM-Blöcken, wenn bei /CREATE-FILE oder /MODIFY-FILE-ATTRIBUTES (bzw. im FILE-Makro) der Operand SPACE nicht versorgt wurde.

Sekundärzuweisung

Parametername

Werte-Bereich

STD-Wert

DMSCALL

3...65535

3

Sekundärzuweisung für eine Datei in PAM-Blöcken, wenn bei /CREATE-FILE oder /MODIFY-FILE-ATTRIBUTES (bzw. im FILE-Makro) diese im Operand SPACE nicht versorgt wurde.

Nach jeder Dateierweiterung wird der Betrag des Zuwachses verdoppelt gegenüber dem Wert bei der vorherigen Erweiterung. Secondary-Allocation (SA) bei (i+1)-ter Erweiterung gleich zweimal Secondary-Allocation bei i-ter Erweiterung: SA(i+1) = 2 * SA(i).

Diese Formel wird so lange angewendet, bis der doppelte Wert der aktuellen Sekundärzuweisung den Wert DMMAXSC überschreitet. Danach gilt: SA(i+1) = SA(i).

Maximalwert

Parametername

Werte-Bereich

STD-Wert

DMMAXSC

3...65535

48

Wenn der doppelte Wert der aktuellen Sekundärallokierung den Wert von DMMAXSC überschreitet, dann wird der Wert für die Sekundärallokierung nicht mehr verändert.

Beispiel

Dateierweiterungen mit den Werten: DMPRALL 15, DMSCALL 3, DMMAXSC 48.
In diesem Beispiel könnte DMMAXSC jeden Wert von 48 bis 96 enthalten, ohne dass sich das Verhalten ändert.

  • 15+3=18 (1. Dateierweiterung)

  • 18+6=24 (2. Dateierweiterung)

  • 24+12=36 (3. Dateierweiterung)

  • 36+24=60 (4. Dateierweiterung)

  • 60+48=108 (5. Dateierweiterung)

  • 108+48=156 (6. Dateierweiterung, keine Veränderung der Sekundärallokierung, da der Wert dann größer wäre als DMMAXSC)

Beim Einrichten einer Datei auf Platte oder Verändern ihrer Größe ist DVS-intern der kleinste Betrag, um den eine Änderung wirksam wird, eine Allocation-Unit.

Die kleinste Allocation-Unit beträgt für Private Volumes 3 PAM-Blöcke und für Pubsets 3 PAM-Blöcke (K- und NK2-Format) bzw. 4 PAM-Blöcke (NK4-Format)

Jede dynamische Dateierweiterung führt zu einer Reihe von Verwaltungs-Ein-/Ausgaben im System (Aktualisierung der Einträge in der Benutzerkennung, im Dateikatalog, im F1-Kennsatz bei Private Volumes) und verursacht somit einen beträchtlichen Systemaufwand. Um diesen Aufwand zu minimieren, sollte der DMSCALL-Parameter auf mindestens vier Allocation-Units gesetzt werden.

Um die Anzahl der dynamischen Dateierweiterungen zu reduzieren (bzw. zu vermeiden), steht jedem Anwender bei /CREATE-FILE und /MODIFY-FILE-ATTRIBUTES der Operand SPACE=*RELATIVE(PRIMARY-ALLOCATION=xx,SECONDARY-ALLOCATION=yy) zur Verfügung.

Jeder Anwender sollte grundsätzlich versuchen, die Datei schon bei der Erstellung durch eine entsprechende Primärzuweisung in der voraussichtlichen Endgröße einzurichten.

Beispiel

Ein Programm schreibt mit dem PAM-Makroaufruf sequenziell 456 Blöcke. Mit dem AINF-Makroaufruf wird die Anzahl der Ein-/Ausgabe-Operationen ermittelt.

/CREATE-FILE ... , SPACE=REL ( ... )

Anzahl phys. IOs
lt. AINF

Anzahl Extents lt.
/SHOW-FILE-ATTR

PRI-ALLOC=

SEC-ALLOC=

3

3

480

20

6

6

476

18

30

30

467

9

192

192

459

3

456

30

456

1

Abhängig von der jeweiligen Plattenbelegung können die Ergebnisse etwas streuen.