- •Сергеев Сергей Набор данных прямого доступа (da - Direct access data sets)
- •Суворова Василиса
- •Ярков Павел
- •3. Описание блока управления данными ( для bsam(Basic sequential access method))
- •Наборы данных – pds и pdse
- •5.9.3 Что такое pdse?
- •Наборы данных vsam
- •Совмещение c и ассемблера Беляев Максим
- •Встроенные функции
- •СовмещениеC и модулей на ассемблере
- •Встроенный ассемблер
- •Вызов программ ассемблера из c
- •Создание скелетного кода
- •Соглашение о вызовах
- •Выборсоглашенияо вызовах
- •Функциональные объявления
- •Сохранение рабочих регистров
- •Вызов функции
- •Выход из функции
- •Ограничение для специальных типов функций
Суворова Василиса
Последовательные наборы данных (Physical Sequential, PS) рассматриваются как совокупность логических записей, которые обрабатываются в том порядке, в каком они были помещены в набор данных (т.е. последовательно). Корректировка последовательного набора данных возможна либо путем полной перезаписи всей информации, либо путем добавления новых логических записей в конец набора данных.
Для обработки последовательных наборов данных в z/OS поддерживается два метода доступа: "базисный" BSAM и "с очередями" QSAM.
В зависимости от используемого типа логических записей и блокирования, поддерживается несколько форматов последовательных наборов данных. На рисунке использованы принятые в языке управления заданиями z/OS идентификаторы: RECFM - формат записи, LRECL - длина записи, BLKSIZE - длина блока.
При использовании записей фиксированной длины (форматы F и FB) LRECL определяет размер каждой записи набора данных. Размер блока для формата FB выбирается кратным длине записи.
При использовании записей переменной длины (форматы V и VB) каждая запись включает четырехбайтовый дескриптор RDW, содержащий длину записи. Параметр LRECL определяет максимальную по длине запись с учетом поля дескриптора. Блоки записей переменной длины (формат VB) дополнительно включают четырехбайтовое поле дескриптора BDW, предназначенного для хранения длины блока. Параметр BLKSIZE в этом случае определяет максимальную длину блока.
При использовании записей неопределенной длины (формат U) система не поддерживает деления набора данных на логические записи и производит его обработку блоками фиксированного размера (BLKSIZE).
Источник: http://www.intuit.ru/department/os/ibmzos/4/1.html
Large format data sets (LFDS) это последовательный набор данных, размер которого может превышать предел в 65 535 дорожек (4369 цилиндров) на том, определенный для других последовательных наборов данных. LFDS снижает необходимость использования нескольких томов для одного набора данных.
Определить LFDS можно с помощью DSNTYPE=LARGE параметра в операторе DD.
Характеристики LFDS:
LFDS имеет не более 16 экстентов в каждом томе
LFDS может занимать до 16 777 215 дорожек на одном томе.
Каждый LFDS может размещаться на 59 томах (или менее). Таким образом, LFDS может иметь до 944 экстентов (16х59)
LFDS может занимать любое количество дорожек на томе
Минимальный размер для LFDS такой же как и для других последовательных наборов данных: одна дорожка длиной 56 000 байт.
LFDS может быть каталогизирован или не каталогизирован
Источник: http://publib.boulder.ibm.com/infocenter/zos/v1r12/index.jsp?topic=%2Fcom.ibm.zos.r12.idad400%2Flfdspro.htm
Макрокоманда OPEN имеет следующий формат:
[label] OPEN (dcb address[, [(options)][,...]])
[,TYPE=J]
[,MODE=24|31]
-
label
спецификатор, содержащий 1-8 символов, является символическим адресом макрокоманды
dcb address
адрес DCB для открываемого набора данных
options
возможные значения данного параметра приведены в таблице ниже, в зависимости от типа устройства и метода доступа
|
Тип устройства |
|||||
Магнитная лента |
DASD |
Другие |
||||
Метод доступа |
|
|
|
|
|
|
|
Option 1 |
Option 2 |
Option 1 |
Option 2 |
Option 1 |
Option 2 |
QSAM |
[INPUT] [EXTEND] [OUTPUT] [RDBACK] |
[,REREAD] [,LEAVE] [,DISP] |
[INPUT] [EXTEND] [OUTPUT] [UPDAT] |
[,REREAD] [,LEAVE] [,DISP] |
[INPUT] [EXTEND] [OUTPUT] |
- |
BSAM |
[INPUT] [EXTEND] [OUTINX] [OUTPUT] [INOUT] [OUTIN] [RDBACK] |
[,REREAD] [,LEAVE] [,DISP] |
[INPUT] [EXTEND] [OUTINX] [OUTPUT] [INOUT] [OUTIN] [UPDAT] |
[,REREAD] [,LEAVE] [,DISP] |
[INPUT] [OUTPUT] |
- |
Если не указана option 1, по умолчанию предполагается INPUT. Если указана option 2, необходимо указывать option 1. Option 2 действует только на наборы данных, размещенных на нескольких томах.
-
OPTION 1
EXTEND
Набор данных рассматривается как набор выходных данных. Кроме того, записи будут добавлены в конец набора данных, независимо от того, было указано в параметре DISP оператора DD.
INPUT
Входной набор данных
INOUT
Набор данных используется для ввода впервые и также используется как выходной набор данных без повторного открытия.
OUTPUT
Выходной набор данных
OUTIN
Набор данных впервые используется для вывода и также используется как входной набор данных без повторного открытия
OUTINX
Набор данных объявлен как OUTIN набор данных, кроме того, что записи будут добавлены в конец набора данных, независимо от того, было указано в параметре DISP оператора DD
RDBACK
Входной набор данных, считывающий записи в обратном направлении
Примечание: записи переменной длины не могут быть прочитаны в обратном направлении.
UPDAT
Набор данных для обновления.
OPTION 2
LEAVE
Позиционирует текущий диск на магнитной ленте к логическому концу набора данных, когда происходит переключение томов. Если обработка велась в обратном направлении (RDBACK), том позиционируется к началу набора данных.
REREAD
Позиционирует текущий диск на магнитной ленте для повторной обработки, когда происходит переключение томов. Если обработка велась в прямом направлении, том позиционируется к началу набора данных. Если обработка велась в обратном направлении (RDBACK), том позиционируется к концу набора данных.
DISP
Указывает, что способ размещения тома определен в операторе DD.
TYPE=J |
Указывает, что для каждого DCB используется JFCB – job file control block. |
MODE 24|31 |
Определяет формат списка параметров, генерируемого макрокомандой OPEN |
Источники: z/OS V1R6.0 DFSMS Macro Instructions for Data Sets, с.292,
http://publib.boulder.ibm.com/infocenter/zos/v1r11/index.jsp?topic=/com.ibm.zos.r11.idad500/x5t.htm
Макрокоманда CLOSE имеет следующий формат:
[label] OPEN (dcb address[, [(options)][,...]])
[,TYPE=T]
[,MODE=24|31]
-
label
спецификатор, содержащий 1-8 символов, является символическим адресом макрокоманды
dcb address
адрес DCB для открываемого набора данных
options
возможные значения данного параметра указывают на позиционирование тома при закрытии набора данных. Они обычно используются при TYPE=T для наборов данных на магнитной ленте.
-
REREAD
Позиционирует текущий диск на магнитной ленте для повторной обработки. Если обработка велась в прямом направлении, том позиционируется к началу набора данных. Если обработка велась в обратном направлении (RDBACK), том позиционируется к концу набора данных.
Если параметр FREE=CLOSE оператора DD, то набор данных освобождается при закрытии, а не в конце шага задания.
LEAVE
Позиционирует текущий диск на магнитной ленте к логическому концу набора данных. Если обработка велась в обратном направлении (RDBACK), том позиционируется к началу набора данных.
Если параметр FREE=CLOSE оператора DD, то набор данных освобождается при закрытии, а не в конце шага задания.
REWIND
Указывает, что текущий том на магнитной ленте должен быть установлен в точку загрузки (load point) вне зависимости от направления обработки. Нельзя использовать вместе с TYPE=T.
Если параметр FREE=CLOSE оператора DD, то набор данных освобождается при закрытии, а не в конце шага задания.
FREE
Указывает, что текущий набор данных освобождается при закрытии, а не в конце шага задания. Это означает, что том может быть использован другими заданиями, или может быть демонтирован. Нельзя использовать с CLOSE TYPE=T.
DISP
Указывает, что способ размещения тома определен в операторе DD.
DASD этот параметр игнорируют.
TYPE=Т |
Можно указать TYPE=Т для временного закрытия наборов данных на магнитной ленте или DSAD, обрабатываемых с помощью BSAM. |
MODE 24|31 |
Определяет формат списка параметров, генерируемого макрокомандой CLOSE |
Источники: z/OS V1R6.0 DFSMS Macro Instructions for Data Sets, с.174,
http://publib.boulder.ibm.com/infocenter/zos/v1r11/index.jsp?topic=/com.ibm.zos.r11.idad500/x4l.htm
DCB для BSAM имеет следующий формат:
[label] DCB [BFALN={F|D}]
[,BFTEK=R]
[,BLKSIZE=absexp]
[,BUFCB=relexp]
[,BUFL=absexp]
[,BUFNO=absexp]
[,BUFOFF={absexp|L}]
[,DCBE=relexp]
[,DDNAME=symbol]
[,DEVD={{DA
[,KEYLEN=absexp]}
{TA [,DEN={1|2|3|4}]
[,TRTCH={C|E|ET|T}|{COMP|NOCOMP}]}
{PR [,PRTSP={0|1|2|3}]}
{PC [,MODE=[C|E][R]]
[,STACK={1|2}]
[,FUNC={I|P|PW[XT]|R|RP[D]| RW[T]|RWP[XT][D]|W[T]}]
{RD [,MODE=[C|E][O|R]]
[,STACK={1|2}]
[,FUNC={I|P|PW[XT]|R|RP[D]| RW[T]|RWP[XT][D]|W[T]}]}]
,DSORG={PS|PSU}
[,EODAD=relexp]
[,EXLST=relexp]
[,KEYLEN=absexp]
[,LRECL={absexp|X}]
,MACRF={{(R[C|P])}
{(W[C|P|L])}
{(R[C|P],W[C|P])}}
[,NCP=absexp]
[,OPTCD={{B}
{T}
{U[C]}
{C[T][B][U]}
{H[Z][B]}
{J[C][U]}
{W[C][T][B][U]}
{Z[C][T][B][U]}
{Q[C][B][T|}
{Z}}]
[,RECFM={{U[T][A|M]}
{V[B][S][T][A|M]}
{D[B][S][A]}
{F[B|S|T|BS|BT][A|M]}}]
[,SYNAD=relexp]
Источник: z/OS V1R6.0 DFSMS Macro Instructions for Data Sets с.201
DCB для QSAM имеет следующий формат:
[label] DCB [BFALN={F|D}]
[,BFTEK={S|A}]
[,BLKSIZE=absexp]
[,BUFCB=relexp]
[,BUFL=absexp]
[,BUFNO=absexp]
[,BUFOFF={absexp|L}]
[,DCBE=relexp]
[,DDNAME=symbol]
[,DEVD={{DA}
{TA [,DEN={1|2|3|4}]
[,TRTCH={C|E|ET|T}|{COMP|NOCOMP}]}
{PR [,PRTSP={0|1|2|3}]}
{PC [,MODE=[C|E][R]]
[,STACK={1|2}]
[,FUNC={I|P|PW[XT]|R|RP[D]| RW[T]|RWP[XT][D]|W[T]}]
{RD [,MODE=[C|E][O|R]]
[,STACK={1|2}]
[,FUNC={I|P|PW[XT]|R|RP[D]| RW[T]|RWP[XT][D]|W[T]}]}]
,DSORG={PS|PSU}
[,EODAD=relexp]
[,EROPT={ACC|SKP|ABE}]
[,EXLST=relexp]
[,KEYLEN=absexp]
[,LRECL={absexp|X}]
,MACRF={{(G{M|L|D}[C])}
{(P{M|L|D}[C])}
{(G{M|L|D}[C],P{M|L|D}[C])}}
[,OPTCD={{B}
{T}
{U[C]}
{C[T][B][U]}
{H[Z][B]}
{J[C][U]}
{W[C][T][B][U]}
{Z[C][T][B][U]}
{Q[C][B][T|}
{Z}}]
[,RECFM={{U[T][A|M]}
{V[B][S][T][A|M]}
{D[B][S][A]}
{F[B|S|T|BS|BT][A|M]}}]
[,SYNAD=relexp]
Источник: z/OS V1R6.0 DFSMS Macro Instructions for Data Sets с.201
Sequeninteal Data set