Программы поддержки для OS/360 и последующих версий
В этой статье обсуждаются программы поддержки, включенные в OS/360 и его преемники или доступные для них . IBM относит некоторые из этих программ к утилитам. [1] [а] и другие в качестве вспомогательных средств; [2] границы не всегда последовательны или очевидны. Многие, но не все, из этих программ соответствуют типам служебных программ .
В следующих списках описаны программы, связанные с OS/360 и его преемниками . Никакие утилиты DOS , TPF или VM не включены.
История/Общий JCL
[ редактировать ]Многие из этих программ были разработаны пользователями IBM через группу SHARE , а затем модифицированы или расширены IBM на основе версий, первоначально написанных пользователем.
Эти программы обычно вызываются через язык управления заданиями (JCL). Они, как правило, используют общие идентификаторы JCL DD (в ОС, теперь в операционных системах z/OS ) для своих наборов данных:
ДДИМЯ | Обычная функция |
---|---|
СИСИН | входной файл для «команд» утилиты. Часто устанавливается в значение DUMMY, если требуется действие по умолчанию. |
СИСУТ1 | входной файл |
СИСУТ2 | выходной файл |
СИСУТ3 | рабочий (разливной) файл для ввода (SYSUT1) (часто не используется) |
СИСУТ4 | рабочий (разливной) файл для вывода (SYSUT2) (часто не используется) |
СИСПРИНТ | выходной файл для вывода на печать из утилиты |
СИСВУТ | выходной файл для сообщений от утилиты |
СИСТЕМНЫЙ ДАМП | выходной файл для «дампа» системы в случае сбоя программы |
Утилиты для набора данных
[ редактировать ]IDCAMS
[ редактировать ]IDCAMS («Службы методов доступа») генерирует и изменяет наборы данных метода доступа к виртуальному хранилищу (VSAM) и не-VSAM. IDCAMS был представлен вместе с VSAM в OS/VS ; Ссылка «Метод доступа» вытекает из первоначального подхода OS/VS «VSAM заменяет все другие методы доступа». IDCAMS, вероятно, обладает наибольшей функциональностью из всех служебных программ, выполняя множество функций как для файлов VSAM, так и для файлов, не относящихся к VSAM.
Следующий пример иллюстрирует использование IDCAMS для копирования набора данных на диск. Набор данных содержит записи по 80 байт, и система выберет размер блока для вывода:
//XXXXXXXW JOB XXXXXXX,AAAA,CLASS=G,MSGCLASS=1,NOTIFY=&SYSUID
//STEP001 EXEC PGM=IDCAMS
//SYSIN DD *
REPRO INFILE(FILE01) OUTFILE(FILE02)
/*
//FILE01 DD DSN=PROD.FILE1.INPUT,disp=shr .....
//FILE02 DD DSN=PROD.FILE2.OUTPUT,
// DISP=(NEW,CATLG,DELETE),
// UNIT=DASD,
// SPACE=(TRK,(100,10),RLSE),
// DCB=(RECFM=FB,BLKSIZE=0,LRECL=80)
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//*
В приведенном выше примере контрольные карты SYSIN поступают из встроенного файла, но вместо этого вы можете указать на любой последовательный файл или элемент PDS, содержащий контрольные карты или временный набор данных, если хотите. Пример использования файлов SYSIN будет примерно таким:
//SYSIN DD DSN=PROD.MYFILE.REPRO,DISP=SHR
или это:
//SYSIN DD DSN=PROD.MYLIB.CNTLLIB(REPRO),
// DISP=SHR
ИЭБКОМПР
[ редактировать ]IEBCOMPR сравнивает записи в последовательных или секционированных наборах данных .
Утилита IEBCOMPR используется для сравнения двух последовательных или секционированных наборов данных . Это сравнение наборов данных выполняется на уровне логической записи. Поэтому IEBCOMPR обычно используется для проверки правильности резервной копии набора данных (точного соответствия оригиналу).
Во время обработки IEBCOMPR сравнивает каждую запись из каждого набора данных одну за другой. Если записи не равны, IEBCOMPR перечисляет следующую информацию в SYSOUT:
- Номера записей и блоков, о которых идет речь.
- Имена операторов DD, в которых возникло несоответствие.
- Неравные рекорды.
При сравнении последовательных наборов данных IEBCOMPR считает наборы данных равными, если выполняются следующие условия:
- Наборы данных содержат одинаковое количество записей.
- Соответствующие записи и ключи идентичны.
Для секционированных наборов данных IEBCOMPR считает наборы данных равными, если выполняются следующие условия:
- Записи каталога для двух секционированных наборов данных совпадают, то есть имена одинаковы и количество записей одинаково.
- Соответствующие элементы содержат одинаковое количество записей.
- Соответствующие записи и ключи идентичны.
Если во время обработки встречаются десять неравных сравнений, IECOMPR завершает работу с соответствующим сообщением.
//XXXXXXXW JOB XXXXXXX,AAAA.A.A,CLASS=G,MSGCLASS=1,NOTIFY=XXXXX
//STEP01 EXEC PGM=IEBCOMPR,ACCT=PJ00000000
// INCLUDE MEMBER=@BATCHS
//*SYSIN DD DUMMY
//SYSIN DD *
COMPARE TYPORG=PO
/*
//SYSUT1 DD DSN=XXXXXXX.OLDFILE,UNIT=DASD,DISP=SHR
//SYSUT2 DD DSN=XXXXXXX.NEWFILE,UNIT=DASD,DISP=SHR
//SYSUT# DD
Примечание. IEBCOMPR — не очень гибкая и удобная программа сравнения. Он не может ограничить сравнение только определенными столбцами, не может игнорировать различия в пробелах, не сообщает, где в записи встречается различие, и останавливается после 10 различий. С другой стороны, он быстрый и присутствует на всех мейнфреймах IBM. Поэтому это очень полезно, когда ожидается точное совпадение, например, при сравнении загрузочных модулей, которые не были переблокированы, или при проверке правильности работы копии. Для сравнения программ или отчетов ISPF вместо этого часто используется программа сравнения SuperC (ISRSUPC).
IEBCOPY
[ редактировать ]IEBCOPY копирует, сжимает и объединяет секционированные наборы данных . Он также может выбирать или исключать указанные элементы во время операции копирования, а также переименовывать или заменять элементы.
Некоторые из задач, которые может выполнять IEBCOPY, включают следующее:
- Создание выгрузки секционированного набора данных (PDS) в набор данных PS для резервного копирования или передачи.
- Копирование PDS на место для освобождения неиспользуемого пространства у удаленных участников; также называется сжатием PDS.
- Копирование выбранных участников в другой PDS.
- Переименование выбранных членов PDS.
- Объединение нескольких секционированных наборов данных в единый PDS.
- Изменение, копирование и переблокировка загрузочных модулей.
- Члены, которые уже присутствуют в другом PDS, не будут заменены, если не указана опция R.
Для утилиты IEBCOPY необходимые операторы управления заданиями для копирования следующие:
//stepname EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=class
//MYDD1 DD DSN=xxxx.ppp.psps,DISP=SHR
//MYDD2 DD DSN=xxxx.ppp.pssp,DISP=SHR
//SYSIN DD *
COPY INDD=MYDD1,OUTDD=MYDD2
SELECT MEMBER=(MEM1,MEM2,MEM3)/ EXCLUDE MEMBER=(SF,DF,SA)
Операторы MYDD1 и MYDD2 DD — это имена, выбранные пользователем для секционированных наборов входных и выходных данных соответственно; По умолчанию — SYSUT1 и SYSUT2. Вы можете использовать любое допустимое DDNAME для этих двух операторов DD. Эти DDNAME указываются в операторах управления утилитой, чтобы сообщить IEBCOPY имена входных и выходных наборов данных. Для сжатия PDS вам понадобится только один оператор DD.
ВЕЗДЕ
[ редактировать ]IEBDG («Генератор данных») создает тестовые наборы данных, состоящие из шаблонных данных. Операторы управления определяют поля создаваемых записей, включая положение, длину, формат и выполняемую инициализацию. IEBDG может использовать существующий набор данных в качестве полей ввода и изменять их, как указано в операторах управления, например, заменяя поле имени случайным буквенным текстом. Содержимое каждого поля можно изменять для каждой записи, например, поворачивая символы в буквенно-цифровом поле влево или вправо для каждой последующей записи.
Пример:
//XXXXXXXW JOB XXXXXXX,AAAA,CLASS=G,MSGCLASS=1,NOTIFY=&SYSUID
//**********************************************************************
//* CREATION OF A DATASET To BE USED LATER ON
//**********************************************************************
//CRSTEP EXEC PGM=IEFBR14
//DDCREA DD DSN=&SYSUID..MVSUT.SEQOUT,DISP=(NEW,CATLG)
//**********************************************************************
//* CREATION OF THE TESTDATA
//**********************************************************************
//STEP1 EXEC PGM=IEBDG
//SYSPRINT DD SYSOUT=*
//SEQOUT DD DSN=&SYSUID..MVSUT.SEQOUT,DISP=OLD
//SYSIN DD DATA
DSD OUTPUT=(SEQOUT)
FD NAME=FIELD1,LENGTH=30,STARTLOC=1,FORMAT=AL,ACTION=TL
FD NAME=FIELD2,LENGTH=30,STARTLOC=31,FORMAT=AL,ACTION=TR
FD NAME=FIELD3,LENGTH=10,STARTLOC=71,PICTURE=10, X
P'1234567890',INDEX=1
CREATE QUANTITY=500,NAME=(FIELD1,FIELD2,FIELD3),FILL=X'FF'
END
/*
//**********************************************************************
//* PRINTING THE TEST DATA TO SYSOUT
//**********************************************************************
//STEP2 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=*.STEP1.SEQOUT,DISP=SHR
//SYSIN DD DUMMY
//SYSUT2 DD SYSOUT=*
//**********************************************************************
//* DELETE THE CREATED DATASET, EVEN IF PREVIOUS STEPS ABENDED
//**********************************************************************
//DLSTEP EXEC PGM=IEFBR14,COND=EVEN
//DDDEL DD DSN=&SYSUID..MVSUT.SEQOUT,DISP=(OLD,DELETE,DELETE)
//
Он умер
[ редактировать ]IEBEDIT выборочно копирует части JCL.
Пример программы IEBEDIT:
//IEBEDITJ JOB ACCT,'',CLASS=P,MSGCLASS=T,MSGLEVEL=(1,1),NOTIFY=&SYSUID
//STEP0001 EXEC PGM=IEBEDIT
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=xxxxx.yyyyy.zzzzz,DISP=SHR
//SYSUT2 DD SYSOUT=(*,INTRDR)
//SYSIN DD *
EDIT TYPE=INCLUDE,STEPNAME=(STEP10,STEP5,STEP15)
/*
//
В этом примере набор данных xxxxx.yyyyy.zzzzz должен содержать задания (которые должны включать шаги с именами STEP5, STEP10 и STEP15). Эта процедура IEBEDIT копирует выбранные этапы задания в выходной файл SYSUT2 (в данном примере — во внутреннее устройство чтения).
Синтаксис оператора EDIT:
[label] EDIT [START=jobname]
[,TYPE={POSITION|INCLUDE|EXCLUDE}]
[,STEPNAME=(namelist)]
[,NOPRINT]
START=jobname
указывает имя входного задания, к которому применяется оператор EDIT. Каждый оператор EDIT должен применяться к отдельному заданию. Если указано START без TYPE и STEPNAME, в выходные данные включаются оператор JOB и все шаги для указанного задания.
По умолчанию: если START опущен и указан только один оператор EDIT, обрабатывается первое задание, встречающееся во входном наборе данных. Если START опущен в операторе EDIT, отличном от первого оператора, обработка продолжается со следующего оператора JOB, найденного во входном наборе данных.
TYPE={POSITION|INCLUDE|EXCLUDE}
определяет содержимое набора выходных данных. Эти значения могут быть закодированы:
POSITION
указывает, что выходные данные должны состоять из оператора JOB, шага задания, указанного в параметре STEPNAME, и всех шагов, следующих за этим шагом задания. Все шаги задания, предшествующие указанному шагу, исключаются из операции. ПОЛОЖЕНИЕ — значение по умолчанию.
INCLUDE
указывает, что набор выходных данных должен содержать оператор JOB и все шаги задания, указанные в параметре STEPNAME.
EXCLUDE
указывает, что набор выходных данных должен содержать оператор JOB и все шаги задания, относящиеся к заданию, за исключением шагов, указанных в параметре STEPNAME.
STEPNAME=(namelist)
указывает имена шагов задания, которые вы хотите обработать.
namelist
может быть одним именем шага задания, списком имен шагов, разделенных запятыми, или последовательным диапазоном шагов, разделенных дефисом (например, STEPA-STEPE). Любая их комбинация может использоваться в одном списке имен. Если указано более одного имени шага, весь список имен должен быть заключен в круглые скобки.
При кодировании TYPE=POSITION параметр STEPNAME указывает первый шаг задания, который будет помещен в выходной набор данных. Шаги задания, предшествующие этому шагу, не копируются в выходной набор данных.
При использовании TYPE=INCLUDE или TYPE=EXCLUDE параметр STEPNAME указывает имена шагов задания, которые должны быть включены в операцию или исключены из нее. Например, STEPNAME=(STEPA,STEPF-STEPL,STEPZ) указывает, что шаги задания STEPA, от STEPF до STEPL и STEPZ должны быть включены в операцию или исключены из нее.
Если STEPNAME опущен, копируется все входное задание, имя которого указано в операторе EDIT. Если имя задания не указано, обрабатывается первое встреченное задание.
NOPRINT
указывает, что набор данных сообщения не должен включать список выходного набора данных.
По умолчанию: результирующий вывод указан в наборе данных сообщения.
Дополнительную информацию смотрите здесь: [1]
ИБГЕНЕР
[ редактировать ]IEBGENER копирует записи из последовательного набора данных или создает секционированный набор данных.
Некоторые из задач, которые может выполнять IEBGENER, включают следующее:
- Создание резервной копии последовательного набора данных или члена PDS .
- Изменение размера физического блока или длины логической записи последовательного набора данных.
- Создание редактируемого набора данных.
- Печать последовательного набора данных или члена PDS.
- Создание секционированного набора выходных данных из последовательного набора входных данных.
Пример программы IEBGENER для копирования одного набора данных в другой:
//IEBGENER JOB ACCT,'DATA COPY',MSGCLASS=J,CLASS=A
//STEP010 EXEC PGM=IEBGENER
//SYSUT1 DD DSN=xxxxx.yyyyy.zzzzz,DISP=SHR
//SYSUT2 DD DSN=aaaaa.bbbbb.ccccc,DISP=(,CATLG),
// UNIT=SYSDA,SPACE=(TRK,(5,5),RLSE),
// DCB=(RECFM=FB,LRECL=1440)
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
Для задач прямого копирования программа сортировки часто может выполнять их быстрее, чем IEBGENER. Таким образом, многие магазины мэйнфреймов используют опцию, которая автоматически направляет такие задачи в программу сортировки ICEGENER вместо IEBGENER.
В некоторых системах можно отправлять электронную почту из пакетного задания, направляя выходные данные в " SMTP
« внешний писатель» . В таких системах методика следующая:
//IEBGENER JOB ACCT,'DATA COPY',MSGCLASS=J,CLASS=A
//NORMRC EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD *,LRECL=80
HELO <SYSTEMID>
MAIL FROM:<USERID@SYSTEMID>
RCPT TO:<USERID@SYSTEMID>
DATA
From: <USERID@SYSTEMID>
To: <USERID@SYSTEMID>
Subject: Test Mail
TEST MAIL FROM MAINFRAME
.
QUIT
/*
//SYSUT2 DD SYSOUT=(B,SMTP),LRECL=80
//SYSIN DD DUMMY
Также можно прикреплять файлы при отправке электронного письма с мейнфрейма.
IEBIMAGE
[ редактировать ]IEBIMAGE управляет несколькими типами определений (также называемыми изображениями ) для принтера IBM 3211, подсистемы лазерной печати IBM 3800 и принтера IBM 4248. Обычно используются буферы управления формами ( FCB ), таблицы расположения символов, определения символов и изображения форм, которые будут распечатаны на выходе вместе с текстом, логотипы компаний, которые будут напечатаны на странице, или просто печать «серой полосы». страницы (чередующийся серый и белый горизонтальный фон, чтобы соответствовать предыдущему листу с зеленой полосой ). С помощью этой утилиты множество различных форм или логотипов можно сохранять в виде изображений и распечатывать при необходимости, используя одну и ту же стандартную чистую бумагу, что устраняет необходимость хранить множество предварительно напечатанных форм и необходимость операторам останавливать принтер и менять бумагу. .
ИИСУС
[ редактировать ]IEBISAM выгружает, загружает, копирует и печатает наборы данных ISAM .
Извлечено из руководства IBM SC26-7414-08 z/OS DFSMSdfp Утилиты: Программа IEBISAM больше не распространяется. Начиная с z/OS V1R7, наборы данных ISAM больше нельзя обрабатывать (создавать, открывать, копировать или сбрасывать). данные ИСАМ наборы, которые все еще используются, должны быть преобразованы в наборы данных с последовательностью ключей VSAM.
До версии z/OS V1R7 можно было использовать службы методов доступа для выделения набора данных с последовательностью ключей VSAM и копирования в него набора данных ISAM.
ИЕВПТПЧ
[ редактировать ]IEBTPCH («PrinT and PunCH») печатает или перфорирует записи из последовательного или секционированного набора данных.
Некоторые из задач, которые может выполнять IEBTPCH, включают следующее:
- Печать или перфорация всего набора данных , последовательного или секционированного (PDS).
- Печать или перфорация выбранных членов PDS.
- Печать или перфорирование выбранных записей из последовательного или секционированного набора данных.
- Печать или перфорирование каталога PDS.
- Печать или перфорация отредактированной версии последовательного набора данных или PDS.
- Проверьте наличие пустого набора данных
//IEBPTPCH JOB
// EXEC PGM=IEBPTPCH
//SYSIN DD *
PRINT MAXFLDS=2
TITLE ITEM=('Name',22),
ITEM=('GPA',50)
TITLE ITEM=(' ',1)
RECORD FIELD=(25,1,,22),
FIELD=(4,51,,50)
/*
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD *
Person 1 307 C Meshel Hall 3.89
Second person 123 Williamson Hall 2.48
3rd person 321 Maag Library 1.52
/*
//SYSUT2 DD SYSOUT=*
//
Проверка пустого набора данных: если проверяемый набор данных пуст, то RC=4, иначе 0.
//IEBPTPCH JOB
// EXEC PGM=IEBPTPCH
//SYSUT1 DD DSN=<filename>,DISP=SHR
//SYSUT2 DD DUMMY,
// DCB=(BLKSIZE=<block size>,RECFM=FA)
//SYSIN DD *
PRINT TYPORG=PS
/*
//SYSPRINT DD SYSOUT=*
//
ИЕВТКРИН
[ редактировать ]Чтение записей с помощью считывателя картриджей 2495.
ОБНОВЛЕНИЕ
[ редактировать ]Изменяет записи в последовательном наборе данных или в элементе секционированного набора данных, заменяя IEBUPDTE, но не совместимого с ним.
ИЕБУПТЕ
[ редактировать ]IEBUPDTE («UPDATE») включает изменения в последовательные или секционированные наборы данных. UNIX patch
Утилита аналогична программе, но использует другие маркеры формата ввода ( например , "./INSERT..." в MVS становится "@@..." в Unix Patch).
Некоторые программисты произносят это слово как «IEB up-ditty».
Утилита IEBUPDTE используется для поддержки исходных библиотек. Некоторые из функций, которые может выполнять IEBUPDTE, включают следующее:
- Создание и обновление библиотек
- Изменение последовательных наборов данных или членов PDS
- Изменение организации набора данных с последовательной на секционированную или с секционированной на последовательную.
IEBUPDTE обычно используется для распространения исходных библиотек с ленты на DASD .
IEBUPDTE использует те же операторы управления заданиями, что и большинство утилит типа IEB. Единственными исключениями являются следующие:
- IEBUPDTE принимает параметр PARM, закодированный в операторе EXEC, NEW или MOD. NEW указывает, что операторы управления утилитами и входные данные содержатся в операторе SYSIN DD, поэтому оператор SYSUT1 DD не требуется. MOD указывает, что оператор SYSIN DD содержит только операторы управления утилитами без входных данных. Поэтому для определения набора входных данных требуется оператор SYSUT1 DD.
- IEBUPDTE считывает набор входных данных либо из оператора SYSUT1 DD, либо из оператора SYSIN DD.
Управление заданиями, используемое IEUPDTE, следующее:
//stepname EXEC PGM=IEUPDTE,PARM=NEW
//SYSPRINT DD SYSOUT=class
//SYSUT1 DD ...
//SYSUT2 DD ...
//SYSIN DD ...
Утилиты планировщика
[ редактировать ]ИЭФБР14
[ редактировать ]IEFBR14 — это фиктивная программа, которая обычно вставляется в JCL, когда единственным желаемым действием является выделение или удаление наборов данных.
Пример шага IEFBR14 :
//IEFBR14 JOB ACCT,'DELETE DATASET'
//STEP01 EXEC PGM=IEFBR14
//DELDD DD DSN=xxxxx.yyyyy.zzzzz,
// DISP=(MOD,DELETE,DELETE),UNIT=DASD
Последовательность вызовов для OS/360 содержала адрес возврата в регистре 14. Таким образом, переход к регистру 14 приведет к немедленному выходу из программы. Однако до и после выполнения этой программы операционная система будет выделять и освобождать наборы данных, как указано в операторах DD, поэтому ее обычно используют как быстрый способ установки или удаления наборов данных.
использовалась мнемоника Первоначально она представляла собой одну инструкцию «Переход для регистрации» 14. В IBM Assembler BR, отсюда и название: IEF BR 14. IEF — это «префикс» подсистемы «управления заданиями» OS/360.
В этой единственной программе инструкций была ошибка — она не установила код возврата. Следовательно, пришлось добавить вторую инструкцию для очистки кода возврата, чтобы он завершился с правильным статусом.
IBM сообщила и исправила дополнительную ошибку в этой программе, теперь состоящей из двух инструкций. Эта ошибка произошла из-за того, что программа IEFBR14 не редактировалась по ссылке как повторно вводимая (одновременно используемая более чем одним вызывающим объектом).
Некоторые хакеры взяли IEFBR14 и изменили инструкцию BR 14 на BR 15, создав тем самым «самый короткий цикл в мире», поскольку регистр 15 содержит адрес самого модуля IEFBR14, а инструкция BR 15 просто повторно вызовет модуль. , навсегда.
Системные утилиты
[ редактировать ]Эти утилиты обычно используются системными программистами для поддержания работы системы, а не программистами для работы с приложениями в системе.
ИКДСФ
[ редактировать ]ICKDSF («Средство поддержки устройств») устанавливает, инициализирует и обслуживает DASD либо в операционной системе, либо автономно .
ИЕАТЛАС
[ редактировать ]Назначьте альтернативные треки дефектным трекам.
ИЕХДАСДР
[ редактировать ]ИЕХДАСДР [1] : 161–187 может выполнять несколько операций для устройств хранения данных с прямым доступом [б] (ДАСД)
- Инициализация тома DASD с дополнительной проверкой поверхности
- Назначение альтернативных дорожек дефектным дорожкам
- Печать треков на DASD
- Создайте резервную копию тома DASD на ленте.
- Восстановление томов DASD с резервных лент.
В конце концов IBM прекратила добавлять поддержку новых типов устройств в IEHDASDR и направила клиентов к бесплатному DSF для инициализации томов и к платному DASDR (5740-UT1) и Data Facility/Data Set Services (5740-UT3, DF/DSS) для дампа/ восстановить.
IBM удалила IEHDASDR из MVS/XA. [3]
ИЕХИНИТТ
[ редактировать ]IEHINITT («INITialize Tape») инициализирует ленты путем записи меток ленты. За один запуск утилиты можно пометить несколько лент. стандартные этикетки IBM или ASCII Могут быть написаны .
Пример программы IEHINITT:
//IEHINITT JOB ACCT,'LABEL TAPES',MSGCLASS=J,CLASS=A
//STEP0001 EXEC PGM=IEHINITT,REGION=8M
//SYSPRINT DD SYSOUT=A
//LABEL DD DCB=DEN=2,UNIT=(3490,1,DEFER)
//SYSIN DD *
LABEL INITT SER=123450,NUMBTAPE=3
/*
В этом примере будут маркированы 3 ленты на магнитной ленте 3490. Каждая лента будет иметь стандартную этикетку IBM. VOLSER будет увеличиваться на единицу для каждой помеченной ленты. Каждая лента будет перемотана и выгружена после маркировки.
ИЕХИОСУП
[ редактировать ]IEHIOSUP обновляет ссылки относительных адресов отслеживания (TTR) для процедур вызова супервизора типа IV (SVC) в SYS1.SVCLIB. IEHIOSUP больше не поддерживается в OS/VS2 и более поздних версиях. [4]
Функции OPEN, CLOSE и EOV выполняются серией модулей SVC, которые выполняются последовательно. Некоторые модули содержат таблицы, используемые XCTL
макрос для ссылки на следующий фрагмент серии. Из соображений производительности, чтобы избежать каждый раз поиска в каталоге, эти таблицы содержат дисковые адреса модулей, а не имена. Обновления SYS1.SVCLIB могут привести к изменению этих адресов, поэтому необходимо запустить IEHIOSUP, чтобы установить правильные адреса. [5]
Это пример JCL, необходимого для запуска IEHIOSUP. [1]
//IHEIOSUP JOB
// EXEC PGM=IEHIOSUP
//SYSUT1 DD DSNAME=SYS1.SVCLIB~DISP=OLD,UNIT=2311,
// VOLUME=SER=111111
//SYSPRINT DD SYSOUT=A
//
ИЭХЛИСТ
[ редактировать ]IEHLIST — это утилита, используемая для вывода списка записей в каталоге многораздельного набора данных (PDS) или для отображения содержимого таблицы содержания тома ( VTOC ).
Утилита IEHLIST используется для вывода списка записей, содержащихся в любом из следующих элементов:
- каталог PDS
- ВТОК
- Каталог (ОС CVOL)
Пример программы IEHLIST:
//IEHLIST JOB ACCT,'LIST PDS',MSGCLASS=J,CLASS=A
//STEP0001 EXEC PGM=IEHLIST,REGION=8M
//SYSPRINT DD SYSOUT=A
//PDS1 DD DSN=xxxx.yyyy.zzzz,DISP=OLD
//SYSIN DD *
LISTPDS DSNAME=xxxx.yyyy.zzzz,FORMAT
/*
Это задание создаст отформатированный список каталога PDS PDS с именем xxxx.yyyy.zzzz.
Пример программы IEHLIST для вывода списка VTOC очень похож:
//IEHLIST JOB ACCT,'LIST VTOC',MSGCLASS=J,CLASS=A
//STEP0001 EXEC PGM=IEHLIST,REGION=8M
//SYSPRINT DD SYSOUT=A
//VOL1 DD VOL=SER=vvvvvv,DISP=OLD
//SYSIN DD *
LISTVTOC VOL=SER=vvvvvv,FORMAT
/*
IEHMOVE
[ редактировать ]IEHMOVE перемещает или копирует коллекции данных. Однако среды DFSMS ( системное хранилище ) сейчас широко распространены, и IBM не рекомендует использовать в них утилиту IEHMOVE. Перемещение отличается от копирования тем, что после перемещения исходный набор данных удаляется или стирается. Некоторые из задач, которые может выполнить IEHMOVE, включают следующее:
- Перемещение или копирование последовательных и секционированных наборов данных
- Перемещение или копирование многотомных наборов данных
- Перемещение всего объема наборов данных
На первый взгляд IEHMOVE может показаться избыточным по сравнению с утилитами IEBGENER и IEBCOPY. Однако IEHMOVE более мощный. Основное преимущество использования IEHMOVE заключается в том, что вам не нужно указывать пространство или информацию DCB для новых наборов данных. Это связано с тем, что IEHMOVE распределяет эту информацию на основе существующих наборов данных.
Еще одним преимуществом IEHMOVE является то, что вы можете копировать или перемещать группы наборов данных, а также целые объемы данных. обычно предпочитают утилиту IEHMOVE Из-за простоты перемещения групп наборов данных или томов системные программисты .
Пример задания IEHMOVE:
//stepname EXEC PGM=IEHMOVE,PARM='LINECNT=xx,POWER=n'
//SYSPRINT DD SYSOUT=class
//SYSUT1 DD UNIT=aaaa,VOL=SER=bbbbbb,DISP=OLD
//anyname1 DD UNIT=cccc,VOL=SER=dddddd,DISP=OLD
//anyname2 DD UNIT=eeee,VOL=SER=ffffff,DISP=OLD
//SYSIN DD ...
Операторы DD для IEHMOVE, кроме SYSPRINT и SYSIN, относятся к томам DASD или магнитной ленты , а не к отдельным наборам данных . Однако ссылка на тома может создать проблему, поскольку указание DISP=OLD
получает эксклюзивный доступ к тому. Таким образом, пока выполняется задание IEHMOVE, весь том (и все содержащиеся в нем наборы данных) недоступен для других пользователей. Это приемлемо для частных томов, таких как ленточные или монтируемые тома DASD, но неприемлемо для общедоступных томов.
Оператор SYSUT1 DD указывает том DASD, на котором размещены три набора рабочих данных, требуемых IEHMOVE. Вы должны указать информацию о единицах измерения и объеме для этого оператора DD.
IEHMOVE была одной из первых систем, разработанных на PL/S .
В этом примере три последовательных набора данных (SEQSET1, SEQSET2 и SEQSET3) перемещаются с одного дискового тома на три отдельных дисковых тома. Каждый из трех принимающих томов монтируется, когда этого требует IEHMOVE. Исходные наборы данных не каталогизируются. Пространство выделяется IEHMOVE.
//MOVEDS JOB ...
//STEP1 EXEC PGM=IEHMOVE
//SYSPRINT DD SYSOUT=A
//SYSUT1 DD UNIT=disk,VOLUME=SER=333333,DISP=OLD
//DD1 DD UNIT=(disk,,DEFER),DISP=OLD,
// VOLUME=(PRIVATE,,SER=(222222))
//DD2 DD UNIT=(disk,,DEFER),DISP=OLD,
// VOLUME=(PRIVATE,,SER=(222333))
//DD3 DD UNIT=(disk,,DEFER),DISP=OLD,
// VOLUME=(PRIVATE,,SER=(222444))
//DD4 DD VOLUME=(PRIVATE,RETAIN,SER=(444444)),
// UNIT=disk,DISP=OLD
//SYSIN DD *
MOVE DSNAME=SEQSET1,TO=disk=222222,FROM=disk=444444
MOVE DSNAME=SEQSET2,TO=disk=222333,FROM=disk=444444
MOVE DSNAME=SEQSET3,TO=disk=222444,FROM=disk=444444
/*
IEHPROGM
[ редактировать ]IEHPROGM создает и поддерживает данные управления системой. Он также используется для переименования и удаления (удаления) набора данных.
Некоторые из задач, которые может выполнять IEHPROGM, включают следующее:
- Удаление (очистка) набора данных или члена PDS
- Переименование набора данных или члена PDS
- Каталогизация или декаталогизация набора данных
- наборов данных Хранение паролей в системном PASSWORD. наборе данных [с]
Для каталогизации:
//SYSIN DD *
CATLG DSNNAME=data-set-name,
VOL=device-name=volume-number
/*
//
ИФХСТАТР
[ редактировать ]Выберите и отформатируйте записи SMF на наличие ошибок на ленте.
Независимые утилиты
[ редактировать ]Эти программы не запускаются под управлением операционной системы.
ИБКДАСДИ
[ редактировать ]Отформатируйте тома прямого доступа и назначьте альтернативные дорожки.
ИБКДМПРС
[ редактировать ]Дамп и восстановление томов прямого доступа.
ИБКРКВРП
[ редактировать ]Назначайте альтернативные треки, восстанавливайте и заменяйте данные.
ICAPRTBL
[ редактировать ]Загрузите в принтер буфер управления формами (FCB) и буфер универсального набора символов (UCS).
Сервисные средства
[ редактировать ]Это служебная программа, которую IBM документирует в средствах обслуживания или диагностики. [6] руководства. Исходные средства обслуживания OS/360 имели имена, начинающиеся с IFC и IM*, но IBM изменила соглашение об именах на HM* для OS/VS1 и на AM* для OS/VS2 . IBM не изменила конвенцию IFC.
FCDIP00
[ редактировать ]Инициализирует набор данных SYS1.LOGREC.
IFCEREP0
[ редактировать ]Обобщает и печатает записи из набора данных записи ошибок SYS1.LOGREC.
GTF (средство универсальной трассировки)
[ редактировать ]Отслеживает выбранные системные события, такие как SVC и прерывания ввода-вывода.
ИМАПТФЛЕ
[ редактировать ]Генерирует JCL, необходимый для применения к PTF, и/или применяет PTF. Функции этой программы были включены в состав SMP .
ИМАСПЗАП
[ редактировать ]Проверяет и/или заменяет инструкции и/или данные в загрузочном модуле, программном объекте или дисковом файле.
ИМБЛИСТ
[ редактировать ]Форматирует и печатает объектные модули, модули загрузки, программные объекты и идентификационные записи CSECT.
ИМБМДМАП
[ редактировать ]Карты загружают модули. Функции этой программы были включены в состав IMBLIST.
IMCJQDMP
[ редактировать ]Автономная программа для форматирования и печати системной очереди заданий. Не применимо к MVS .
IMCOSJQD
[ редактировать ]Отформатируйте и распечатайте системную очередь заданий. Не применимо к MVS .
ИМПДПРДМП
[ редактировать ]Форматирует и печатает дампы ядра , набор данных подкачки TSO и данные трассировки GTF.
ИМДСАДМП
[ редактировать ]Автономная программа для создания высокоскоростного или низкоскоростного дампа оперативной памяти.
Разные вспомогательные программы
[ редактировать ]СОРТИРОВАТЬ
[ редактировать ]Утилита Sort/Merge — это программа, которая сортирует записи в файле в заданном порядке или объединяет предварительно отсортированные файлы. Он используется очень часто; часто наиболее часто используемая прикладная программа в магазине мэйнфреймов. Современные программы сортировки/объединения также могут выбирать или исключать определенные записи, суммировать записи, удалять дубликаты, переформатировать записи и создавать простые отчеты. Сортировка/объединение настолько важна, что существует множество компаний, каждая из которых продает свой собственный пакет сортировки/объединения для мэйнфреймов IBM.
Оригинальная программа сортировки/объединения IBM OS/360, 360S-SM-023, название программы IERRCO00 (псевдоним SORT), поддерживала только устройства хранения данных первого поколения IBM с прямым доступом (DASD). [д] и ленты (2400). Поддержка дисковых накопителей второго поколения обеспечивалась программными продуктами IBM , такими как 5734-SM1 и более поздний 5740-SM1 ( DFSORT , псевдоним ICEMAN, также SORT).
СОРТИРОВКА часто выполняется как отдельная программа, где она обычно считывает входные данные из файла, идентифицируемого DD. SORTIN
и записывает отсортированный вывод в файл, идентифицируемый DD SORTOUT
. Его также часто вызывают из другого приложения через COBOL. SORT
глагол или обращение к PL/I PLISRTx
подпрограммы, где он может использовать либо SORTIN
или SORTOUT
файлы или передавать записи для сортировки вызывающей стороной и/или передавать отсортированные записи обратно вызывающей стороне по одной.
Работа SORT управляется операторами управления, которые в значительной степени совместимы с различными программами сортировки IBM и сторонних производителей. SORT
или MERGE
Оператор определяет ключи сортировки — поля, по которым данные должны быть отсортированы или объединены. Этот оператор определяет положение, длину и тип данных каждого ключа. RECORD
Оператор описывает формат и длину записей во входном файле. Другие операторы позволяют пользователю указать, какие записи следует включить или исключить из сортировки, а также указать другие преобразования, которые необходимо выполнить с данными.
Ключи могут представлять собой любую комбинацию символьных данных EBCDIC или ASCII , зональных или упакованных десятичных чисел, двоичных чисел с фиксированной запятой со знаком или без знака или шестнадцатеричных чисел с плавающей запятой. Ключи могут располагаться в любом месте записи и не обязательно должны быть смежными. Сортировку можно задать по любой комбинации восходящей и нисходящей последовательности по ключу. [7]
Программа сортировки OS/360, IERRCO00, работает путем разделения входных данных на разделы, сортировки каждого раздела в основной памяти и записи отсортированного раздела в промежуточные наборы данных либо на устройствах хранения с прямым доступом (DASD), либо на магнитной ленте . На заключительных этапах слияния разделы объединяются для получения отсортированного вывода. SORT использует один из нескольких методов распределения разделов между дополнительными устройствами хранения. Обычно SORT может выбрать оптимальный метод, но пользователь может его изменить. [8] СОРТИРОВКА имеет три метода, которые можно использовать, если промежуточным хранилищем является лента, и два — если диск. [9]
Техники ленты следующие:
- Сбалансированный (BALN) — более эффективен, если для промежуточного хранения доступно больше ленточных накопителей.
- Многофазный (POLY) — используется, если для промежуточного хранения доступно меньше ленточных накопителей.
- Осциллирующий (OSCL) — использует больше оперативной памяти. Размер входного набора данных должен быть известен или приблизительно приближен.
Дисковые методы:
- Сбалансированный прямой доступ (BALN) — использует от трех до шести наборов данных промежуточного хранения.
- Crisscross Direct Access (CRCX) — использует от шести до семнадцати наборов данных промежуточного хранилища, требует вдвое больше основного хранилища, чем метод сбалансированного прямого доступа.
Линкеры
[ редактировать ]В OS/360 был только редактор Linkage, доступный в нескольких конфигурациях. DFSMSdfp добавил Binder в качестве альтернативы для загрузочных модулей и как единственный вариант для программных объектов.
Редактор связей
[ редактировать ]Редактор связей создает и заменяет загрузочные модули в секционированном наборе данных из комбинации карт управления, объектных модулей и других загрузочных модулей. Он может переименовывать или заменять раздел управления (CSECT) и выполнять ряд других функций. Первоначально он был доступен в нескольких конфигурациях в зависимости от требований к объему памяти, но редактор связей уровня E больше недоступен, а редактор связей уровня F теперь известен просто как редактор связей. В z/OS Редактор связей присутствует только для совместимости.
связующее
[ редактировать ]Подшивка выполняет те же функции, что и Редактор связей. Кроме того, он поддерживает новый формат — программный объект, который является функциональным эквивалентом загрузочного модуля в расширенном наборе секционированных данных (PDSE) со множеством дополнительных возможностей.
Сборщики
[ редактировать ]Один ассемблер обычно был стандартным, поскольку он требовался для генерации системы (SYSGEN) и настройки.
ИЕТАСМ
[ редактировать ]Ассемблер (E) был предназначен для работы OS/360 на очень маленьких машинах.
ИЕУАСМ
[ редактировать ]Ассемблер (F) предназначался для обычных установок OS/360.
FOX00
[ редактировать ]Ассемблер (XF) был системным ассемблером для OS/VS1 и OS/VS2, заменив Ассемблер (E) и (F), хотя он не был полностью с ними совместим. Вскоре IBM сделала Assembler (XF) системным ассемблером для DOS и VM.
ИЭВ90
[ редактировать ]Ассемблер (H) и Ассемблер (H) версии 2 — это ассемблеры программных продуктов, которые обычно работают быстрее, чем ассемблеры E, F и XF, хотя и не полностью совместимы ни с одним из них.
ASMA90
[ редактировать ]IBM High Level Assembler (HLASM) — это, по сути, новая версия Assembler (H) версии 2 и единственный ассемблер, который IBM поддерживает в z/OS и z/VM. Он заменяет все старые ассемблеры, хотя и не полностью с ними совместим.
Составители
[ редактировать ]Каждый язык программирования, используемый в компьютерном магазине, будет иметь один или несколько связанных с ним компиляторов , которые преобразуют исходную программу в объектный модуль машинного языка. Затем объектный модуль компилятора должен быть обработан редактором связей IEWL для создания исполняемого загрузочного модуля.
IGYCRCTL — распространенный пример компилятора; это компилятор текущего продукта IBM Enterprise COBOL для z/OS. (За прошедшие годы существовало несколько компиляторов IBM COBOL с разными именами, хотя пользователи могли указывать псевдонимы. COBOL
для текущей версии.) Существует множество других компиляторов для других языков программирования.
Компиляторы, доступные от IBM, включали ALGOL , COBOL, FORTRAN , PL/I и RPG .
Программа модификации системы (SMP)
[ редактировать ]Программа модификации системы (SMP) — это средство установки службы на OS/360 и последующих версиях, заменяющее, например, автономную сборку, редактирование ссылок и задания IMAPTFLE. Первоначально это была дополнительная возможность, но она обязательна для MVS/SP и более поздних версий, а версия программного продукта SMP/E включена в более поздние системы, например, z/OS.
Примечания
[ редактировать ]- ^ подразделяются на утилиты набора данных, системные утилиты и независимые утилиты.
- ^ Первоначально DASD поддерживали диски, барабаны и ячейки данных; в настоящее время это диски и твердотельные накопители, имитирующие диски.
- ^ Набор данных PASSWORD устарел и был заменен подсистемами безопасности, работающими через средство авторизации системы ( SAF ), например, ACF2 , RACF .
- ^ В руководстве указана информация о емкости дисков 2311 и 2314 и барабана 2301, но не указано, что это единственные поддерживаемые DASD.
Ссылки
[ редактировать ]- ^ Jump up to: а б с Операционная система IBM System/360: Утилиты (PDF) (двенадцатое изд.), IBM Corporation, июнь 1970 г., GC28-6586-11
Утилиты ОС — номера программ 360S-UT-506 360S-UT-507 (PDF) (шестнадцатое изд.), IBM Corporation, апрель 1973 г., GC28-6586-15 - ^ Операционная система IBM System/360: Service Aids OS Release 21 (PDF) (Третье издание), IBM Corporation, март 1972 г., GC28-6719-2
- ^ Блокнот по преобразованию MVS/Extended Architecture (PDF) (Третье издание), май 1984 г., стр. 1-1, GC28-1143-2
- ^ Руководство по планированию OS/VS2 (PDF) . Корпорация IBM. Июль 1972 г. с. 79 . Проверено 5 января 2024 г.
- ^ Руководство по логике программы IBM System/360 Operating System Utilities (PDF) . Корпорация IBM. Ноябрь 1968 г., стр. 47–49 . Проверено 4 января 2024 г.
- ^ Диагностика z/OS MVS: инструменты и средства обслуживания, версия 2, выпуск 3 (PDF) , IBM Corporation, 20 июля 2018 г., GA32-0905-30
- ^ Корпорация IBM. Руководство по прикладному программированию DFSORT (PDF) . Проверено 28 марта 2017 г.
- ^ Программа сортировки/объединения ОС Номер программы 360S-SM-023 OS ~ Release 21 (PDF) (Девятое изд.). Корпорация IBM. Февраль 1973 г. с. 17. GC28-6543-8.
Если вы обнаружите, что для конкретного приложения сортировки/слияния программа сортировки/слияния не выбирает наиболее эффективный метод, вы можете запросить сортировку для использования другого метода.
- ^ Корпорация IBM (1973). Программа сортировки/объединения ОС Номер программы 360S-SM-023 OS~Выпуск 21 (PDF) . Проверено 2 апреля 2018 г.