JCL

JCL

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 (IS198T30500),'COPY JOB',CLASS=L,MSGCLASS=X
//COPY01   EXEC PGM=IEBGENER
//SYSPRINT DD  SYSOUT=*
//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 (параметры класса определяет системный администратор при настройке ОС), служебные сообщения будут выводиться в выходную очередь класса X. Имя заданное в качестве метки оператора JOB (IS198CPY) будет использовано в качестве идентификатора задания во время его выполнения.

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

cp IS198.TEST.INPUT IS198.TEST.OUTPUT

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


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "JCL" в других словарях:

  • JCL — JCL, n. [all capitals] (Computers) Job Control Language. [Acronym] [PJC] …   The Collaborative International Dictionary of English

  • JCL — may refer to:Computing: * Job Control Language, a scripting language used on IBM mainframe operating systems * Java Class Library * Java Constraints Library * Jedi Code Library * Jakarta Commons Logging Periodicals: * University of Pennsylvania… …   Wikipedia

  • JCL — abbr. Computing job control language. * * * abbreviation or noun ( s) Etymology: Latin juris canonici licentiatus : a licentiate in canon law * * * Computers. 1. See job control language. 2. Informal. the total specifications made for a job using …   Useful english dictionary

  • JCL — Die Abkürzung JCL steht für: Jakarta Commons Logging, siehe Jakarta Projekt Java (Programmiersprache) Compiled Language Kurzbezeichnung für JCL Logistics Jedi Code Library, eine Bibliothek für Object Pascal Jeep Cherokee Laredo Jimmy Carter… …   Deutsch Wikipedia

  • JCL —   Sigles d’une seule lettre   Sigles de deux lettres > Sigles de trois lettres   Sigles de quatre lettres   Sigles de cinq lettres   Sigles de six lettres   Sigles de sept… …   Wikipédia en Français

  • JCL Logistics — Rechtsform AG Gründung 1928 Sitz Graz …   Deutsch Wikipedia

  • JCL CUP — ежегодный европейский футбольный кубковый турнир, который проводится с сезона 1999/00; Аналог Лиги Чемпионов в профессиональном футболе. Финал первого розыгрыша турнира прошёл 1 июня 2000 года в Варшавае. Турецкий Бешикташ обыргал Австрийский Ред …   Википедия

  • JCL — abbreviation Etymology: New Latin juris canonici licentiatus licentiate in canon law …   New Collegiate Dictionary

  • JCL — Computers. 1. See job control language. 2. Informal. the total specifications made for a job using job control language. * * * …   Universalium

  • JCL — Job Control Language (Computing » General) * Junior Classical League (Community » Educational) Job Control Language (Computing » Software) …   Abbreviations dictionary


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»