Файл: Система математического обеспечения ЕС ЭВМ..pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 17.10.2024

Просмотров: 88

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

нительная память не может быть выделена этому пункту, если только не предусмотрено средство свертывания заданий.

Средство свертывания заданий является дополнительным (не­ обязательным) средством, доступным только в режиме мультипро­ граммирования с переменным числом задач. Это средство позво­ ляет осуществлять временное динамическое распространение конкретного задания за пределы первоначально отведенного ему раздела. Когда у некоторого задания появляется потребность в по­ лучении дополнительного объема памяти, это средство пытается предоставить память из нераспределенного участка. Если такого нераспределенного участка памяти нет, производится свертывание задания, которое заключается в том, что это задание переводится во вспомогательную память, так что его раздел может использо­ ваться первым заданием. Когда первое задание освобождает эту дополнительную память, она возвращается к тому источнику, от­ куда была получена, т. е. либо в область нераспределенной памя­ ти, либо заданию, переведенному во вспомогательную память. Для этого свернутое задание вновь переводится в основную память (развертывается) и может выполняться дальше. Свертывать мож­ но не каждое задание, а лишь то, для которого дано на это разре­ шение в параметре ROLL операторов JOB или ЕХЕС. В этом же параметре указывается, может ли задание воспользоваться этим средством.

3. ЯЗЫК УПРАВЛЕНИЯ ЗАДАНИЯМИ

8.1. ОБЩИЕ СВЕДЕНИЯ

Задание — основная независимая единица работы вычислитель­ ной системы. Оно может состоять из одной или нескольких после­ довательно выполняемых программ. Каждое задание должно быть описано на языке управления заданиями.

Язык управления заданиями не является языком программи­ рования и не может быть использован для написания программ. Он служит для управления выполнением программ и описания устройств ввода-вывода. Язык управления заданиями является средством, связывающим программиста с операционной системой. С помощью этого языка программист может указать системе по­ рядок выполнения задания, затребовать определенные системные средства, описать требуемые устройства ввода-вывода. Описание задания перфорируется на перфокартах и вводится в систему че­ рез устройство системного ввода.

Язык управления заданиями состоит из. управляющих операто­ ров или управляющих карт. Существуют девять типов управляю­ щих операторов:

1. Оператор JOB (оператор задания) — самый первый оператор задания. Он отмечает начало текущего задания и конец предыду­ щего. Этот оператор содержит информацию, относящуюся к зада­ нию в целом.

2. Оператор ЕХЕС (оператор пункта задания)'— самый пер­ вый оператор каждого пункта, задания. Оператор пункта задания определяет программу или процедуру, которую необходимо вы­ полнить. Кроме того, этот оператор содержит информацию, отно­ сящуюся к пункту задания.

3. Оператор DD (оператор описания данных) предназначен для описания каждого набора данных, находящегося на носителе ин­ формации любого периферийного устройства (магнитные ленты, устройства прямого доступа, перфокарточные и перфоленточные устройства, печатающие устройства и т. д.). Оператор содержит описание набора данных, описание устройства, запрос на ресурсы и т. ,д. Кроме того, оператор DD допускает включение наборов дан­ ных во входной поток.

4. Оператор PROC (оператор процедуры) явля’ется первым оператором процедуры. Он описывает параметры процедуры и их стандартные значения.

58


5.Оператор PEND (оператор конца процедуры) используется, чтобы отметить конец процедуры во входном потоке.

6.Ограничительный оператор (/*) указывает конец набора данных, представленного во входном потоке.

7.Пустой оператор (//) может быть использован для отмены, конца задания.

8.Оператор команды может быть использован для ввода команды через входной поток.

9.Оператор комментария (//*) может содержать любую ин­ формацию, которая кажется полезной программисту.

Все управляющие операторы задания записываются (кодиру­ ются) на бланках. Каждая строка бланка соответствует одной пер­ фокарте и содержит 80 позиций (колонок). После кодирования операторов на бланке производится перфорация их на перфо­ картах.

Все управляющие операторы, за исключением ограничительно­ го оператора и оператора комментария, идентифицируются сим­ волами // в колонках 1 и 2. Ограничительный оператор идентифи­ цируется символами /* в колонках 1 и 2. Оператор комментария идентифицируется символами //* в колонках 1, 2 и 3.

Помимо идентифицирующих символов управляющие операто­ ры могут содержать четыре поля: имя (или метка), оператор, опе­ ранды и комментарии. В некоторых операторах одно или несколь­ ко полей может быть опущено.

Имя идентифицирует конкретный управляющий оператор, что позволяет ссылаться на него другим операторам или управляю­ щим блокам. Имя оператора задания является одновременно име­ нем задания. Имя может состоять не более чем из 8 символов и содержать любой буквенно-цифровой символ. Первый знак дол­ жен быть буквой и находиться в колонке 3.

Оператор — это сочетания JOB, EXEC, DD, PROC, PEND или оператор команды. Данное поле определяет тип управляющего оператора. Полю оператора обязательно должно предшествовать не менее одного пробела. За ним должен следовать также по край­ ней мере один пробел.

Поле операндов содержит параметры, разделенные запятыми. Оно должно отделяться от поля оператора одним или более про­ белами. Нельзя кодировать пробелы между параметрами. После поля операндов должно следовать не менее одного пробела.

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

Ключевые параметры характеризуются ключевым словом, за которым следуют знак равенства и переменная информация. Клю­

59


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

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

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

Управляющие операторы кодируются в колонках 1—71. Если общее число знаков превышает 71, то можно прервать кодирова­ ние оператора, в следующей строке закодировать символы // в ко­ лонках 1 и 2 и продолжить кодирование оператора с колонки в ин­ тервале 4—16. Когда прерывание оператора приходится на поле операндов, его можно сделать только после полностью закодиро­ ванного параметра (подпараметра), включая запятую. Если пре­ рывание.оператора приходится на поле комментариев, то его мож­ но сделать в любом месте. В последнем случае в колонке 72 необ­ ходимо закодировать один из символов, отличных от пробела.

Синтаксис языка управления заданиями довольно прост. Для упрощения использования управляющих операторов в типовых слу­ чаях с применением системных обрабатывающих программ (тран­ сляторы, редактор связей и т. д.) используются каталогизирован­ ные процедуры. Они поставляются в составе операционной систе­ мы для различных вариантов использования системных обраба­ тывающих программ (например, трансляция; трансляция и редак­ тирование; трансляция, редактирование и выполнение и т. д.).

Каталогизированные процедуры записаны в специальной биб­ лиотеке. Каждая процедура имеет имя, состоящее из 1—8 симво­ лов. Первым оператором процедуры должен быть оператор PROC. В процедуре нельзя употреблять оператор JOB, ограничи­ тельный оператор, а также оператор DD с набором данных. Про­ цедура может содержать символические параметры, которые за­ меняются на фактические значения при ее применении.

Процедура вызывается путем употребления имени процедуры в операторе ЕХЕС. Библиотека процедур может быть пополнена. Кроме каталогизированных процедур, можно кодировать процеду­ ры в самом задании (процедура во входном потоке). Начало про­ цедуры в этом случае отмечается оператором PROC, а конец — оператором PEND. Такая процедура доступна для применения только в том задании, в котором она закодирована, в то время как каталогизированные процедуры могут быть использованы всеми программистами.

В данной главе рассматривается использование операторов язы­ ка управления заданиями в типовых случаях. Описание каталоги­ зированных процедур для системных обрабатывающих программ можно найти в руководствах по использованию соответствующих обрабатывающих программ.

60



3.2. ОПЕРАТОР ЗАДАНИЯ

Оператор задания начинает задание. Он должен содержать имя задания. Все параметры в поле операндов необязательны. Ес­ ли параметры отсутствуют, то комментарии кодировать нельзя. Оператор задания имеет следующий формат:

/ / им я J O B о п ер а н д ы к о м м ен т ар и и

Имя должно начинаться в третьей колонке и содержать от 1 до 8 буквенно-цифровых символов (от А до Z, от 0 до 9), причем цифра не может быть первым символом. В мультипрограммных режимах не следует допускать использования одинаковых имен заданий.

Поле операндов содержит два позиционных параметра: учет­ ную информацию и идентификацию программиста. Эти параметры необходимо кодировать в указанном порядке перед ключевыми параметрами.

Учетная информация может включать учетный номер и допол­ нительную учетную информацию. Если этот параметр состоит из нескольких подпараметров, то они разделяются запятыми и за­ ключаются в скобки или апострофы. Отсутствие подпараметра от­ мечается запятой. Параметр учетной информации допускает коди­ рование не более 142 символов, включая запятые.

Учетная информация является необязательным параметром. Однако его можно сделать обязательным при генерации системы (в однопрограммном режиме) или в каталогизированной проце­ дуре системного ввода (в мультипрограммных режимах). Прави­ ла обработки учетной информации в системе не определяются. В составе операционной системы отсутствуют программы обра­ ботки учетной информации. Система учета, а также программы обработки учетной информации должны разрабатываться систем­ ными программистами вычислительных центров в соответствии с условиями эксплуатации вычислительной установки.

Программы обработки учетной информации могут быть вклю­ чены в состав управляющей программы в процессе генерации опе­ рационной системы, а также в сгенерированную систему. Управ­ ляющая программа передает управление этим программам обра­ ботки при инициализации пункта задания, при завершении пункта задания и при завершении задания. При этом регистр 1 содержит адрес списка указателей к различной информации, такой, как имя задания, имя пункта задания, идентификация программиста, учет­ ная информация задания и пункта задания, время выполнения пункта задания, время выполнения задания и т. д. Эта информа­ ция может быть обработана учетными программами в соответст­ вии с системой учета, принятой в вычислительном центре.

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

6J