Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Язык управления заданиями

Из Википедии — свободной энциклопедии

Язык управления заданиями (англ. Job Control Language, JCL) — язык программирования, применяющийся в операционных системах мейнфреймов фирмы IBM линии OS/360, MVS, OS/390, z/OS и их клонах, включая ОС ЕС, TKS и БОС. В линии IBM DOS/360, DOS/VS, VSE, z/VSE реализована частично совместимая версия JCL. В гостевой ОС IBM GCS реализовано подмножество JCL.

Применяется для управления запуском пакетных заданий. В силу функционального назначения, обладает минимальными выразительными свойствами как, собственно, язык программирования.

Синтаксис оператора исходно был жестко привязан к определенным позициям (колонкам) на перфокарте:

  • в первых колонках — признак типа карты:
    • // — карта оператора. Карта, содержащая только символы // в начальных позициях — пустой оператор. Пустой оператор указывает на завершение описания задания.
    • /* — конец данных, вводимых во входном потоке,
    • //* — строка комментариев
  • Если это карта оператора, то далее может идти имя оператора (до 8 символов). Это имя используется для ссылок на данный оператор из других операторов, а также для идентификации оператора в сообщениях ОС. Имя оператора JOB является именем задания в системе.
  • затем через как минимум один пробел (в ранних версиях — строго с 10-й колонки) следует оператор языка:
    • JOB — описание задания
    • EXEC — описание шага задания
    • DD — описание используемого в шаге задания набора данных или устройства ввода-вывода (по одному оператору на каждый используемый ресурс).
  • затем через как минимум один пробел идут параметры оператора, перечисляемые через запятую. Пробелы между параметрами недопустимы. Если параметры не умещаются на одной карте с оператором, они могут быть продолжены на картах продолжения. В ранних версиях для указания наличия карт продолжения нужно было указать в 71-й колонке символ, отличный от пробела (обычно это была латинская буква X), а список параметров на карте продолжения должен был начинаться строго с 16-й колонки. В более современных версиях достаточно отделить параметры хотя бы одним пробелом от начальных //.
  • Колонки с 72-й по 80 отводились под нумерацию карт для предотвращения нарушения порядка карт.

Этот синтаксис остался с тех времён, когда задание вводилось с перфокарт (80-колоночных) и позволяет предохранить от случайного запуска на выполнение информации с неправильно вставленных (перевёрнутых) карт.

В целях обеспечения совместимости он не менялся с 1960 гг. и продолжает применяться в современных версиях операционных систем z/OS и z/VSE.

Пример

Эта последовательность команд («задание» в терминах ОС ЕС) копирует содержимое набора данных IS198.TEST.INPUT в набор данных IS198.TEST.OUTPUT.

//IS198CPY JOB (IS198T3*0500),'COPY JOB',CLASS=L,MSGCLASS=X
//COPY01   EXEC PGM=IEBGENER
//SYSPRINT DD  SYSOUT=A
//SYSUT1   DD  DSN=IS198.TEST.INPUT,DISP=SHR
//SYSUT2   DD  DSN=IS198.TEST.OUTPUT,
//           DISP=(NEW,CATLG,DELETE),
//           SPACE=(CYL,(40,5),RLSE),
//           DCB=(LRECL=115,BLKSIZE=0),
//           DATACLAS=SEQFB
//SYSIN    DD  DUMMY
//

Копирование осуществляет служебная программа IEBGENER, которая копирует входной набор данных (SYSUT1) в выходной набор данных (SYSUT2). Для нового (DISP=(NEW,CATLG,DELETE)) выходного набора данных будет выделено место (параметр SPACE) на устройстве прямого доступа: 40 цилиндров изначально и 15 раз по 5 цилиндров, когда первоначально выделенное место будет израсходовано. При успешном завершении задания новый набор данных будет каталогизирован (DISP=(NEW,CATLG,DELETE), а в случае аварийного завершения — удален (DISP=(NEW,CATLG,DELETE))

Кроме того, у программы есть входной поток (SYSIN - не используется (DUMMY)) и выходной поток (SYSPRINT). Оператор JOB описывает учетную информацию пользователя (формат зависит от настроек системы) и параметры выполнения задания. В данном примере задание выполняется с классом L (параметры класса определяет системный администратор при настройке ОС), служебные сообщения будут выводиться в выходную очередь класса A. Имя, заданное в качестве метки оператора JOB (IS198CPY), будет использовано в качестве идентификатора задания во время его выполнения.

В юниксоподобной системе аналогичное действие выглядело бы как

cp IS198.TEST.INPUT IS198.TEST.OUTPUT

Следует однако иметь в виду, что «задание» в терминах «традиционных» ОС для mainframe всё же не является прямым аналогом командного файла в юниксоподобной системе. Обработка заданий выполняется специальной системной программой — Планировщиком заданий. Так как язык управления заданиями описывает не только порядок выполнения определенных программ, но и все необходимые для этого ресурсы (имена наборов данных и место под них, устройства ввода-вывода, требования к оперативной памяти и времени центрального процессора и т.д.). Планировщик организовывает порядок выполнения заданий так, чтобы наиболее эффективно использовать доступные вычислительные ресурсы с минимальным вмешательством человека-оператора.

Эта страница в последний раз была отредактирована 19 августа 2020 в 17:53.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).