Программы поддержки для OS/360 и преемников
В этой статье обсуждаются программы поддержки, включенные или доступны для OS/360 и преемников . IBM классифицирует некоторые из этих программ как коммунальные услуги [ 1 ] [ А ] и другие как служебные средства; [ 2 ] Границы не всегда являются последовательными или очевидными. Многие, но не все, этих программ соответствуют типам в утилите .
В следующих списках описываются программы, связанные с ОС/360 и преемниками . не Утилиты DOS , TPF или VM включены.
ИСТОРИЯ/Common Jcl
[ редактировать ]Многие из этих программ были разработаны пользователями IBM через группу Share , а затем модифицированы или расширены IBM из версий, первоначально написанных пользователем.
Эти программы обычно вызываются через язык контроля над работой (JCL). Они, как правило, используют общие идентификаторы JCL DD (в ОС, теперь операционные системы Z/OS ) для своих наборов данных:
Ddname | Обычная функция |
---|---|
Ударяться | Входной файл для «Команды» для утилиты. Часто устанавливается на Dimumm |
Sysut1 | входной файл |
Sysut2 | выходной файл |
Sysut3 | Работа (разлив) файл для ввода (sysut1) (часто не используется) |
Sysut4 | Работа (разлив) файл для вывода (sysut2) (часто не используется) |
Sysprint | выходной файл для печатного вывода из утилиты |
Sysout | выходной файл для сообщений из утилиты |
Sysudump | выходной файл для системного «дампа», если программа не удается |
Утилиты набора данных
[ редактировать ]Idcams
[ редактировать ]IDCAMS («Службы доступа») генерирует и изменяет метод виртуального доступа к хранилищам (VSAM) и наборы данных без VSAM. IDCAMS был введен вместе с VSAM в OS/VS ; Справочник «Метод доступа» происходит от начального «VSAM заменяет все остальные методы доступа» мышление OS/VS. IDCAMS, вероятно, имеет наибольшую функциональность из всех коммунальных программ, выполняя множество функций, как для файлов VSAM, так и для не VSAM.
В следующем примере иллюстрирует использование IDCAM для копирования набора данных на диск. Набор данных имеет 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 поступают из файла in-потока, но вместо этого вы можете указать на любой последовательный файл или член PDS, содержащий управляющие карты или временный набор данных, если хотите. Пример использования файлов sysin был бы как -то вроде этого:
//SYSIN DD DSN=PROD.MYFILE.REPRO,DISP=SHR
или это:
//SYSIN DD DSN=PROD.MYLIB.CNTLLIB(REPRO),
// DISP=SHR
IEBCOMPR
[ редактировать ]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.
- Объединение нескольких разделенных наборов данных в одну PD.
- Изменение, копирование и повторное блокирование нагрузочных модулей.
- Участники, которые уже присутствуют в другом 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)
Операторы DD MyDD1 и MyDD2 - это имена, выбранные пользователем для разделенных наборов входных и выходных данных соответственно; По умолчанию Sysut1 и Sysut2. Вы можете использовать любое действительное DDNAME для этих двух операторов DD. Эти имена DDNAME указаны в операторах управления утилит, чтобы сообщить IEBCOPY имя наборов входных и выходных данных. Вам нужен только один оператор DD для сжатия PDS.
Жесткий
[ редактировать ]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
[ редактировать ]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.zzzz должен содержать задание (ы), которые должны включать шаги под названием Step5, Step10 и Step15). Эта процедура IEBEDIT копирует выбранные шаги задания в выходной файл sysut2 (в этом примере внутренний считыватель).
Синтаксис утверждения редактирования:
[label] EDIT [START=jobname]
[,TYPE={POSITION|INCLUDE|EXCLUDE}]
[,STEPNAME=(namelist)]
[,NOPRINT]
START=jobname
Указывает имя задания ввода, к которому применяется оператор Edit. Каждое утверждение редактирования должно применяться к отдельной работе. Если запуск указан без типа и StepName, оператор задания и все шаги задания для указанного задания включены в вывод.
По умолчанию: если старт опущен, и предоставлен только один оператор редактирования, первое задание, столкнутое в наборе входных данных, обрабатывается. Если Start исключается из оператора EDIT, отличного от первого оператора, обработка продолжается со следующим оператором задания, найденным в наборе входных данных.
TYPE={POSITION|INCLUDE|EXCLUDE}
Указывает содержимое набора выходных данных. Эти значения могут быть закодированы:
POSITION
Указывает, что вывод должен состоять из оператора задания, шага задания, указанного в параметре StepName, и всех шагов, которые выполняют этот шаг задания. Все этапы работы, предшествующие указанному шагу, опущены из операции. Позиция - это дефолт.
INCLUDE
Указывает, что выходной набор данных должен содержать оператор задания и все шаги задания, указанные в параметре StepName.
EXCLUDE
Указывает, что набор выходных данных должен содержать оператор задания и все шаги задания, принадлежащие заданию, за исключением тех шагов, указанных в параметре StepName.
STEPNAME=(namelist)
Определяет имена шагов работы, которые вы хотите обработать.
namelist
может быть единственным именем шага, списком ступенчатых имен, разделенных запятыми, или последовательный диапазон шагов, разделенных дефисом (например, сочинкой). Любая комбинация их может быть использована в одном из руководителей. Если указано более одного пошагового имени, весь намелий должен быть заключен в скобки.
При кодировании с помощью позиции Type = StepName указывает первый шаг задания, который будет размещен в наборе выходных данных. Шаги задания, предшествующие этому шагу, не копируются в набор выходных данных.
При кодировании типа = включить или тип = исключить, StepName указывает имена шагов задания, которые должны быть включены или исключены из операции. Например, StepName = (Stepa, Stepf-Stepl, Stepz) указывает на то, что шаги задания, шаг, шаг через Stepl и Stepz должны быть включены или исключены из операции.
Если StepName опущено, все задание ввода, имя которого указано на операторе Edit, скопирована. Если не указано имя работы, обрабатывается первая задача.
NOPRINT
Указывает, что набор данных сообщений не должен включать в себя список выходных данных.
По умолчанию: результирующий вывод указан в наборе данных сообщений.
Смотрите здесь для получения дополнительной информации: [1]
Iebgener
[ редактировать ]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 Laser Printing и принтера IBM 4248. Общее использование предназначено для буферов управления формами ( FCB S), таблиц расположения символов, определений символов и изображений форм, которые должны быть напечатаны на выводе вместе с текстом, для напечатанных логотипов компании или просто печатать «Greybar» Страницы (чередование серого и белого горизонтального фона, чтобы соответствовать предыдущей бумаге Greenbar ). С помощью этой утилиты много разных форм или логотипов могут храниться в виде изображений и напечатать при необходимости, все это используя одну и ту же стандартную пустую бумагу, что устраняет необходимость надеть много предварительно предварительно предварительных форм, и необходимость остановить принтер и сменить бумагу Полем
Iebisam
[ редактировать ]IEBISAM Unloads, Loads, Copies и Prints Datazes ISAM .
Извлечен из IBM Manual SC26-7414-08 Z/OS DFSMSDFP Утилит: Программа IEBISAM больше не распределена. Начиная с Z/OS V1R7, наборы данных ISAM больше не могут быть обработаны (созданы, открыты, скопированы или сброшены). Данные ISAM Наборы, которые все еще используются, должны быть преобразованы в наборы данных, последовавших за ключом VSAM.
Перед Z/OS V1R7 вы можете использовать службы метода доступа, чтобы выделить набор данных, последовавший за ключом, и скопировать набор данных ISAM.
Iebptpch
[ редактировать ]IEBPTPCH ("Print and Punch") печатает или пробивает записи из последовательного или разделенного набора данных.
Некоторые из задач, которые может выполнять IEBPTPCH, включают следующее:
- Печать или пробивание всего набора данных , последовательного или разделенного (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 else 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=*
//
IEB
[ редактировать ]Читайте записи из 2495 ленточного картриджного читателя.
Ieeupthat
[ редактировать ]Изменения записей в последовательном наборе данных или в члене разделенного набора данных, замененный, но не совместимый с IEBUPDTE.
Ibupde
[ редактировать ]IEBUPDTE («Обновление») включает изменения в последовательные или разделенные наборы данных. Unix patch
Утилита - это аналогичная программа, но использует разные маркеры формата ввода ( e..g , »./ Вставка ...» в MVS становится «@@ ...» в Patch Unix).
Некоторые программисты произносят это «IEB Up-Ditty».
Утилита IEBUPDTE используется для поддержания исходных библиотек. Некоторые из функций, которые может выполнять IEBUPDTE, включают следующее:
- Создание и обновление библиотек
- Изменение последовательных наборов данных или членов PDS
- Изменение организации набора данных от последовательного к разделению или от разделенного на последовательное.
IEBUPDTE обычно используется для распространения исходных библиотек с ленты в DASD .
IEBUPDTE использует те же операторы управления заданиями, требуемые большинством утилит типа IEB. Единственные исключения следующие:
- IEBUPDTE принимает параметр PARM, кодированный на операторе EXEC, NEW или MOD. Новое указывает на то, что операторы управления полезными средствами и входные данные содержатся в операторе Sysin DD, поэтому не требуется оператор DD Sysut1. MOD указывает, что оператор Sysin DD содержит только операторы управления утилит, без входных данных. Поэтому для определения набора входных данных необходим оператор DD SYSUT1.
- IEBUPDTE считывает набор входных данных либо из оператора SYSUT1 DD, либо из оператора SYSIN DD.
Контроль работы, используемый IEUPDTE, следующим образом:
//stepname EXEC PGM=IEUPDTE,PARM=NEW
//SYSPRINT DD SYSOUT=class
//SYSUT1 DD ...
//SYSUT2 DD ...
//SYSIN DD ...
Утилита планировщика
[ редактировать ]IEFBR14
[ редактировать ]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 , была BR и, следовательно, название: IEF BR 14. IEF - это префикс »подсистемы« Управление заданиями »OS/360.
У этой программы отдельных инструкций была ошибка - она не установила код возврата. Следовательно, необходимо была добавить вторую инструкцию, чтобы очистить код возврата, чтобы он вышел с правильным статусом.
IBM сообщила о дополнительной ошибке и исправлена в этой программе «Две инструкции». Эта ошибка была вызвана тем, что программа IEFBR14 не была отредактирована в ссылке как повторную внедрение (одновременно используется более чем одним вызывающим абонентом).
Некоторые хакеры взяли IEFBR14 и изменили инструкцию BR 14 на BR 15, создав тем самым «самый короткий цикл в мире», поскольку Register 15 содержит адрес самого модуля IEFBR14, а инструкция BR 15 просто повторно внесет модуль , навсегда.
Системные утилиты
[ редактировать ]Эти коммунальные услуги обычно используются системными программистами для поддержания работы системы, а не программистами при выполнении приложений в системе.
Ickdsf
[ редактировать ]ICKDSF («Объединение устройства») устанавливает, инициализирует и поддерживает DASD, либо под операционной системой, либо автономный .
Iehatlas
[ редактировать ]Назначьте альтернативные треки дефектным трекам.
Iehashr
[ редактировать ]Iehashr [ 1 ] : 161–187 может выполнить несколько операций для устройств хранения прямого доступа [ B ] (DASD)
- Инициализировать объем DASD, с дополнительной проверкой поверхности
- Назначьте альтернативные треки дефектным трекам
- Печать треки на DASD
- Создайте резервную копию громкости DASD на пленке
- Восстановите объемы DASD из резервных лент.
IBM в конечном итоге перестала добавлять поддержку новых типов устройств в IEHDASDR и направлял клиентов в бесплатный DSF для инициализации объемов и в плату DASDR (5740-UT1) и услуги данных/набор данных (5740-UT3, DF/DS) для дампы/ восстановить.
IEHDASR IEHDASR. [ 3 ]
Iehinitt
[ редактировать ]Iehinitt («инициализируйте ленту») инициализирует ленты, написав метки ленты. Несколько лент могут быть помечены в одном заезде утилиты. Метки 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
[ редактировать ]IEHIOSUP Обновления относительных трековных адресов (TTR) Ссылки для подпрограммы Supervisor Type 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
[ редактировать ]IEHLIST - это утилита, используемая для перечисления записей в каталоге разделенного набора данных (PDS) или для перечисления содержания таблицы тома ( VTOC ).
Утилита IEHLIST используется для перечисления записей, содержащихся в любом из следующих:
- Справочник PDS
- Vtoc
- Каталог (OS CVO)
Пример программы 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.yyy.zzz.
Пример программы 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, включают следующее:
- Перемещение или копирование последовательных и разделенных наборов данных
- Перемещение или копирование множественных наборов данных
- Перемещение всего объема наборов данных
На первый взгляд, я может увидеть избыточные у коммунальных услуг IEBGENER и IEBCOPY. Тем не менее, Iehmove более мощный. Основным преимуществом использования IEHMove является то, что вам не нужно указывать информацию о пространстве или DCB для новых наборов данных. Это связано с тем, что я выделяет эту информацию на основе существующих наборов данных.
Еще одним преимуществом 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, но неприемлемые общественные объемы.
Оператор DD SYSUT1 определяет том 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
- Каталогизация или неразличивание набора данных
- Поддержание паролей системного пароля набора данных в наборе данных [ C ]
Для каталогизации:
//SYSIN DD *
CATLG DSNNAME=data-set-name,
VOL=device-name=volume-number
/*
//
Ifstatr
[ редактировать ]Выберите и форматируйте записи SMF для ошибок ленты.
Независимые коммунальные услуги
[ редактировать ]Эти программы не работают под контролем операционной системы
Ivcadida
[ редактировать ]Форматируйте объемы прямого доступа и назначьте альтернативные треки.
IBCDMPRS
[ редактировать ]Сбросьте и восстановите объемы прямого доступа.
Ibcrcvrp
[ редактировать ]Назначьте альтернативные дорожки, восстановить и заменить данные.
Icaprtbl
[ редактировать ]Буфер управления нагрузкой (FCB) и универсальный набор символов (UCS) на принтере.
Служба СПИД
[ редактировать ]Это коммунальная программа, которую IBM документирует в услугах или диагнозе [ 6 ] Руководство. В оригинальном сервисном СПИДе OS/360 были имена, начиная с IFC и IM*, но IBM изменила соглашение об именах на HM* для OS/VS1 и AM* для OS/VS2 . IBM не изменила соглашение IFC.
Ifcpip00
[ редактировать ]Инициализирует набор данных sys1.logrec.
Ifcerep0
[ редактировать ]Суммирует и печатает записи из набора данных SYS1.LOGREC.
GTF (обобщенная трассировка)
[ редактировать ]Следует отобранные события системы, такие как прерывания SVC и ввода -вывода.
Imaptfle
[ редактировать ]Генерирует JCL, необходимый для применения к PTF и/или применяет PTF. Функции этой программы были включены SMP .
Imaspzap
[ редактировать ]Проверяет и/или заменяет инструкции и/или данные в модуле загрузки, программном объекте или файле диска.
Имблист
[ редактировать ]Форматы и печати объектных модулей, модули загрузки, объекты программы и записи идентификации CSECT.
Imbmdmap
[ редактировать ]Карты загрузки модулей. Функции этой программы были включены Imblist.
Imcjqdmp
[ редактировать ]Автономная программа для форматирования и печати системной очередь заданий. Не применимо к MVS .
Imcosjqd
[ редактировать ]Формат и распечатайте системную очередь задания. Не применимо к MVS .
Imdprdmp
[ редактировать ]Форматы и печатают основные дампы , набор данных TSO SWAP и данные GTF.
ImdsAdmp
[ редактировать ]Автономная программа для создания высокоскоростной или низкоскоростной дампы основного хранения.
Разные программы поддержки
[ редактировать ]Сортировка
[ редактировать ]Утилита Sort/Merge -это программа, которая сортирует записи в файле в указанный заказ или объединяет предварительные файлы. Это очень часто используется; Часто наиболее часто используемая прикладная программа в магазине мэйнфреймов. Современные программы сортировки/слияния также могут выбрать или пропустить определенные записи, суммировать записи, удалять дубликаты, переформатировать записи и создавать простые отчеты. Sort/Merge достаточно важна, чтобы было несколько компаний, каждая из которых продает свой собственный пакет сортировки/слияния для IBM Mainframes.
Программа IBM Original OS/360 Sort/Merge, 360S-SM-023, имя программы IERRCO00 (Alias Sort), поддерживалась только устройства хранения прямого поколения IBM первого поколения (DASD) [ D ] и ленты (2400). Поддержка дисководов второго поколения была предоставлена программными продуктами IBM , такими как 5734-SM1 и более поздний 5740-SM1 ( DFSORT , псевдоним ICEMAN, также сортируйте).
Сортировка часто выполняется как отдельная программа, где обычно считывает ввод из файла, идентифицированный DD SORTIN
и записывает отсортированный вывод в файл, идентифицированный DD SORTOUT
Полем Это также часто вызывается из другого приложения через Cobol SORT
глагол или звонки в PL/I PLISRTx
процедуры, где это может использовать либо SORTIN
или SORTOUT
Файлы или переданы записи, которые будут отсортированы вызывающим абонент и/или передавать отсортированные записи обратно к абоненту по одному.
Операция сортировки направлена управляющими заявлениями, которые в значительной степени совместимы между различными программами IBM и сторонними сортировками. А SORT
или MERGE
Оператор определяет ключи сортировки - поля, на которых данные должны быть отсортированы или объединены. Этот оператор идентифицирует положение, длину и тип данных каждого ключа. А RECORD
Оператор описывает формат и длину записей во входном файле. Другие операторы позволяют пользователю указать, какие записи должны быть включены или исключены из сортировки, и указывают другие преобразования, которые будут выполнены в данных.
Ключи могут быть любой комбинацией данных символов EBCDIC или ASCII , зонированного или упакованного, подписанного или неподписанного бинарного или шестнадцатеричного плавающего залета. Ключи могут быть расположены в любом месте записи и не должны быть смежными. Сортировка может быть указана на любую комбинацию восходящей и нисходящей последовательности с помощью ключа. [ 7 ]
Программа сортировки OS/360, IERRCO00, работает путем деления входных данных на разделы, сортируя каждый раздел в основной памяти и записывая отсортированный раздел на промежуточные наборы данных на устройствах хранения прямого доступа (DASD) или магнитной ленты . Окончательные фазы слияния затем объединяют разделы, чтобы создать отсортированный выход. Sort использует один из ряда методов для распространения разделами между вторичными устройствами хранения. Обычно сортировка может выбрать оптимальную технику, но это может быть переопределено пользователем. [ 8 ] Сортировка имеет три метода, которые можно использовать, если промежуточное хранилище является лентой, и два, если диск. [ 9 ]
Методы ленты:
- Сбалансированный (BALN) - более эффективно, если для промежуточного хранения доступно больше ленточных приводов.
- Полифазная (поли) - используется, если для промежуточного хранения доступно меньше ленточных приводов.
- Колебание (OSCL) - использует больше основного хранилища. Размер входного набора данных должен быть известен или близко аппроксимирован.
Дисковые методы:
- Сбалансированный прямой доступ (BALN) - использует от трех до шести наборов средних данных.
- Crisscross Direct Access (CRCX) - использует шесть для семнадцати наборов данных промежуточного хранения, требуется вдвое больше, чем основное хранилище сбалансированного метода прямого доступа.
Линкеры
[ редактировать ]OS/360 имел только редактор связи, доступный в нескольких конфигурациях. DFSMSDFP добавил переплет в качестве альтернативы для модулей загрузки и как единственный вариант для объектов программы.
Редактор сцепления
[ редактировать ]Редактор сцепления создает и заменяет загрузочные модули в разделенном наборе данных из комбинации управляющих карт, объектных модулей других нагрузочных модулей. Он может переименовать или заменить контрольную секцию (CSECT) и выполнять несколько других разных функций. Первоначально он был доступен в нескольких конфигурациях в зависимости от требований хранения, но редактор сцепления на уровне E больше не доступен, и редактор сцепления на уровне F теперь известен просто как редактор сцепления. В Z/OS редактор сцепления присутствует только для совместимости.
Переплет
[ редактировать ]Переплет, добавленная в DFSMS , выполняет те же функции, что и редактор сцепления. Кроме того, он поддерживает новый формат, объект программы, который является функциональным эквивалентом модуля нагрузки в разделенном наборе данных Extended (PDSE), со многими дополнительными возможностями.
Собрание
[ редактировать ]Один ассемблер обычно был стандартным, потому что это требовалось для генерации системы (SYSGEN) и настройки.
Ietasm
[ редактировать ]Ассемблер (E) предназначался для OS/360, работающих на очень маленьких машинах.
Ieuasm
[ редактировать ]Ассемблер (F) был предназначен для обычных установок OS/360.
FX00
[ редактировать ]Ассемблер (XF) был системным ассемблером для OS/VS1 и OS/VS2, заменив ассемблер (E) и (f), хотя он не был полностью совместимы с ними. IBM вскоре сделал ассемблер (xf) системным ассемблером для DOS и VM.
IEV90
[ редактировать ]Ассемблер (H) и ассемблер (H) версия 2 - это сборщики программного продукта, которые обычно быстрее, чем ассамблеры E, F и XF, хотя и не совместимы с любым из них.
ASMA90
[ редактировать ]Assembler IBM Высокого уровня (HLASM) по сути является новой версией версии 2 ассемблера (H) и является единственным ассемблером, который 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, были диски, барабаны и ячейки данных; В настоящее время это диски и SSD, моделирующие диски.
- ^ Набор данных пароля устарел и был вытеснен подсистемами безопасности, работающими через объект авторизации системы ( 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 - ^ System/360 Операционная система: Сервисная СПИДа ОС ОС . IBM
- ^ MVS/Extended Architecture Toperbook (PDF) (третье изд.), Май 1984, с. 1-1, GC28-1143-2
- ^ Руководство по планированию OS/VS2 (PDF) . IBM Corporatopn. Июль 1972 г. с. 79 Получено 5 января 2024 года .
- ^ IBM System/360 Руководство по логике программы операционной системы (PDF) . IBM Corporation. Ноябрь 1968 года. С. 47–49 . Получено 4 января 2024 года .
- ^ Диагностика Z/OS MVS: инструменты и сервисные СПИДа Версия 2 Выпуск 3 (PDF) , IBM Corporation, 20 июля 2018 г., GA32-0905-30
- ^ IBM Corporation. Руководство по программированию приложения DFSORT (PDF) . Получено 28 марта 2017 года .
- ^ ОС сортировка/программа программы Merge Номер 360S-SM-023 OS ~ Release 21 (PDF) (девятое изд.). IBM Corporation. Февраль 1973 г. с. 17. GC28-6543-8.
Если вы обнаружите, что для конкретного приложения Sort/Merge программа Sort/Merge не выберет наиболее эффективную технику, вы можете запросить сортировку для использования другой методики.
- ^ IBM Corporation (1973). ОС сортировка/программа программы Merge Номер 360S-SM-023 OS ~ Release 21 (PDF) . Получено 2 апреля 2018 года .