Операционные системы и программное обеспечение на платформе zSeries

     

Параметр SPACE


Параметр SPACE задает требуемый объем памяти для размещения создаваемого набора данных на жестком диске, то есть набора данных с диспозицией NEW. Обычно этот параметр записывают в виде:

SPACE=(размер[,(количество[,приращение][,оглавление])][,RLSE])

Подпараметр количество указывает, сколько блоков памяти будет выделено набору данных первоначально, а подпараметр размер задает размер или тип одного блока и может принимать одно из следующих значений:

TRK - блок соответствует физической дорожке диска;

CYL - блок соответствует цилиндру диска;

число - определяет значение размера блока в байтах.

Так, параметр SPACE=(CYL,10) определяет область дисковой памяти размером 10 цилиндров, а параметр SPACE=(800,30) объявляет, что требуется память объемом в 30 блоков по 800 байт каждый. Если указанный объем не может быть выделен (диск переполнен), система завершает шаг задания аварийно.

В том случае когда первоначального объема памяти недостаточно для размещения данных, система может выделить дополнительные блоки памяти, количество которых определяется подпараметром приращение. Установлено, что система может выделять дополнительные блоки не более 15 раз. Так, параметр SPACE=(CYL,(40,5)) запрашивает первоначально 40 цилиндров, а если этого объема памяти будет недостаточно, то система будет выделять по пять цилиндров до 15 раз, т. е. при необходимости всего будет выделено 40+5*15=115 цилиндров. Если приращение не указано, то дополнительные блоки не выделяются.

Параметр оглавление задается только для наборов данных с библиотечной организацией. Он определяет необходимое количество блоков, отводимых под оглавление библиотечного набора данных. Один блок оглавления содержит 256 байт. Так, например, параметр SPACE=(TRK,(100,10,5)) запрашивает память в 100 дорожек и по 10 дополнительных дорожек (до 15 раз), а также пять блоков по 256 байт оглавления библиотечного набора данных. Отсутствие подпараметра оглавление обычно косвенно указывает на набор данных с последовательной организацией.

Очевидно, что не всегда удается точно предсказать требуемый для набора данных объем внешней памяти.
Подпараметр RLSE служит для освобождения памяти, выделенной, но не использованной под размещение данных. Освобождение свободной памяти производится при закрытии набора данных. Так, параметр SPACE=(TRK,(40,,8),RLSE) указывает, что запрашивается 40 дорожек без приращения. Для оглавления выделяется восемь блоков. Незанятая память после закрытия набора данных освобождается.
Параметр LABEL чаще всего используется для описания набора данных на магнитной ленте. В нем могут быть указаны порядковый номер набора данных на МЛ, тип метки, срок хранения набора данных, пароль. Наиболее употребительный формат параметра:
LABEL=([номер][,формат][PASSWORD][,IN|,OUT])
Подпараметр номер задает последовательный номер набора данных на ленточном томе. Значения 0 или 1 указывают на первый по порядку набор данных. Для каталогизированных наборов данных, а также наборов данных, передаваемых из предыдущего шага задания (DISP=,PASS) , номер можно не указывать.
Подпараметр формат указывает используемый стандарт форматирования ленточного тома (тип меток наборов данных). Возможны следующие значения формата:
SL - стандартный формат IBM (используется по умолчанию, можно не указывать);
SUL - указывает, где набор данных имеет стандартные метки и метки пользователя;
AL - используется формат ISO/ANSI;
NSL - набор данных имеет нестандартные метки;
NL - набор данных не имеет меток;
BLP - необходимо обойти обработку метки набора данных.
Подпараметр, задаваемый ключевым словом PASSWORD, требует при изменении набора данных, чтобы пользователь ввел правильный пароль, используя консоль или терминал TSO.
Ключевые слова IN и OUT указывают, что набор данных обрабатывается для ввода или вывода соответственно.
В приводимом ниже примере открывается для чтения 5-й набор данных, имеющий нестандартные метки, на ленточном томе TAPE01:
//DD1 DD DSNAME=NAB1,UNIT=TAPE01, // VOL=SER=MT1,LABEL=(5,NSL,,IN)
Параметр SYSOUT идентифицирует набор данных как системный выходной набор данных. Наиболее употребительная форма для записи параметра:


SYSOUT=(выходной_класс[,имя_прог])
Чаще всего подпараметр выходной_класс определяет имя выходного класса для описываемого набора данных в виде символа А-Z или 0-9. Атрибуты выходных классов определяются при настройке JES. Если в качестве значения выходного класса указана звездочка (*), это означает, что следует использовать то же значение, что у параметра MSGCLASS, определенное в операторе JOB. Символ "запятая" (,) в позиции данного подпараметра задает так называемый "пустой" класс, означающий, что основные атрибуты вывода будут определены в операторе задания OUTPUT, ссылка на который должна быть указана далее с помощью параметра OUTPUT.
Подпараметр имя_прог позволяет указать имя программы (загрузочного модуля), обрабатывающей выходной набор данных. Если подпараметр не указан, JES будет обрабатывать выходной набор данных стандартным способом, определенным для соответствующего класса.
Кроме указанных подпараметров, параметр SYSOUT может использовать подпараметры, управляющие форматированием выходного набора данных при выводе на печать (выбор шрифта, межстрочный интервал, размеры полей, количество копий и т.п.)
Примеры использования параметра SYSOUT:

  1. определение выходного класса B:
    //SYSPRINT DD SYSOUT=B
  2. определение выходного класса по значению MSGCLASS:
    //YSl JOB ,,MSGCLASS=A //ST1 EXEC PGM=ZARPLATA //DD1 DD SYSOUT=*
  3. определение пустого выходного класса и ссылки на оператор OUTPUT:
    //OUT1 OUTPUT BURST=Y,CHARS=(GT12),COPIES=3 ... //DS DD SYSOUT=(,),OUTPUT=*.OUT1
  4. обработка выходного набора данных программой ввода заданий INTRDR:
    //SYSUT2 DD SYSOUT=(X,INTRDR)

Итак, мы рассмотрели небольшую часть из общего числа параметров оператора DD, однако наиболее важную с точки зрения практического использования. Рассмотрим ряд примеров описания наборов данных при решении некоторых типовых задач [15].
  1. Описание каталогизированных наборов данных на DASD. В этом случае достаточно указать только параметры DSN и DISP, поскольку остальную необходимую информацию о размещении набора данных система получит из каталога, например:
    //CATDS1 DD DSN=AS30.MY.DSET,DISP=OLD //CATDS2 DD DSN=LIB.DATA(CHAR),DISP=SHR
  2. Описание некаталогизированных наборов данных на DASD. Здесь требуется указывать дополнительно значения параметров UNIT и VOLUME, например:
    //NOCATDS DD DSNAME=AS30.MY.DSET,DISP=OLD, // VOL=SER=D01457,UNIT=3390
  3. Описание нового non-SMS набора данных на жестких магнитных дисках. Требуется задавать параметры DCB и SPACE. В приводимом ниже примере создается библиотечный набор данных со 120-байтными записями фиксированной длины на выделенном пространстве внешней памяти размером 10 цилиндров с приращением в три цилиндра. На оглавление отводится два блока по 256 байт, при завершении шага задания неиспользуемая память будет освобождена, а набор данных сохранен.
    //NEWDS DD DSNAME=D.AS32.DATA,DISP=(NEW,KEEP), // VOL=SER=BIBLIO,UNIT=3380, // DCB=(RECFM=F,LRECL=120), // SPACE=(CYL,(10,3,2),RLSE)


Содержание раздела