Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

K- und NK-Blockformat

&pagelevel(4)&pagelevel

Das BS2000 unterstützt Datenträger, die unterschiedlich formatiert sind:

  • Key-Datenträger für das Abspeichern von Dateien, in denen die Blockkontrollinformation in einem separaten Feld („Pamkey“) pro 2Kbyte-Datenblock steht. Diese Dateien besitzen das Blockformat PAMKEY.

  • Non-Key-Datenträger für Dateien, in denen keine separaten Pamkey-Felder existieren, sondern die Blockkontrollinformation entweder fehlt (Blockformat NO) oder im jeweiligen Datenblock untergebracht ist (Blockformat DATA).

Zusätzlich werden NK-Datenträger nach der Mindestgröße der Übertragungseinheit (Transfer Unit) unterschieden. NK2-Datenträger haben eine Transfer Unit von 2KByte. NK4-Datenträger haben eine Transfer Unit von 4KByte.

Das Blockformat wird durch den Operanden BLOCK-CONTROL-INFO des ADD-FILE-LINK-Kommandos gesteuert. Die ausführliche Beschreibung des BLOCK-CONTROL-INFO-Operanden, der verschiedenen Datei- und Datenträgerstrukturen sowie der Umstellung von K-Dateiformat auf NK-Dateiformat findet sich im Handbuch „DVS Einführung“.

Wird beim Neuerstellen einer Datei kein ADD-FILE-LINK-Kommando verwendet oder BLOCK-CONTROL-INFO=BY-PROGRAM angegeben, gelten Standardwerte desC-Laufzeitsystems. Diese Werte hängen ab vom Plattentyp, der vom Systemverwalter angebbaren CLASS2-OPTION und von der Zugriffsmethode:




Dateiorgani-
sation

CLASS2-OPTION BLKCTRL = NONKEY

nicht angegeben

angegeben

K-Platte

NK-Platte

K-Platte

NK-Platte

SAM

PAMKEY

DATA

DATA

DATA

ISAM

PAMKEY

DATA

DATA

DATA

PAM

PAMKEY

NO

NO

NO

 

K- und NK-ISAM-Dateien

ISAM-Dateien im K-Format, die die maximale Satzlänge ausnützen, werden im NK-Format länger als der nutzbare Bereich des Datenblocks. Sie können im NK-Format behandelt werden, da das DVS Verlängerungen von Datenblöcken, sog. Überlaufblöcke, bildet.

Die Bildung von Überlaufblöcken bringt folgende Probleme mit sich:

  • die Überlaufblöcke erhöhen den Platzbedarf auf der Platte und damit die Zahl derEin-/Ausgaben während der Dateibearbeitung,

  • der ISAM-Schlüssel darf in keinem Fall in einem Überlaufblock liegen.

Überlaufblöcke können vermieden werden, wenn man dafür sorgt dass der längste Satz der Datei nicht länger ist, als der bei NK-ISAM-Dateien nutzbare Bereich eines logischen Blockes.

Für Datensätze nutzbarer Bereich bei NK-ISAM-Dateien

Die folgende Tabelle stellt dar, wie man bei ISAM-Dateien errechnen kann, wieviel Platz pro logischem Block für Datensätze zur Verfügung steht.

Dateiformat

RECORD-FORMAT

maximaler nutzbarer Bereich

K-ISAM

VARIABLE

BUF-LEN

FIXED

BUF-LEN - (s*4)
wobei s = Anzahl der Sätze pro logischem Block

NK-ISAM

VARIABLE

BUF-LEN - (n*16) - 12 - (s*2)
(auf nächste durch 4 teilbare Zahl abgerundet)

wobei n = Blockungsfaktor

s = Anzahl der Sätze pro logischem Block

FIXED

BUF-LEN - (n*16) - 12 - (s*2) - (s*4)
(auf nächste durch 4 teilbare Zahl abgerundet)

wobei n = Blockungsfaktor

s = Anzahl der Sätze pro logischem Block

Zur Erläuterung der Formeln:

Bei NK-ISAM-Dateien enthält jede PAM-Seite eines logischen Blocks jeweils 16 Byte Verwaltungsinformation. Der logische Block enthält zusätzlich weitere 12 Byte Verwaltungsinformation und pro Satz einen 2 Byte langen Satzpointer.
Bei RECORD-FORMAT=FIXED ist pro Satz ein 4 Byte langes Satzlängenfeld zwar vorhanden, wird aber nicht zur Satzlänge gerechnet. Deshalb müssen in diesen Fällen pro Satz jeweils 4 Byte abgezogen werden.

Beispiel: maximale Satzlänge einer NK-ISAM-Datei (feste Satzlänge)

Dateivereinbarung:

/ADD-FILE-LINK ...,RECORD-FORMAT=FIXED,BUFFER-LENGTH=STD(SIZE=2),
                            BLOCK-CONTROL-INFO=WITHIN-DATA-BLOCK

maximale Satzlänge nach der Formel :

4096 - (2*16) - 12 - 1*2 - 1*4 = 4046, abgerundet auf die nächste durch
vier teilbare Zahl: 4044 (byte).