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

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

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

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

Добавлен: 17.10.2024

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

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

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

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

Параметр MSGLEVEL определяет уровень распечатки опера­ торов языка управления заданиями и сообщений системы о рас­ пределении. Значение параметра состоит из двух подпараметров:

M S G L E V E L = (о п ер а т о р ы , со о б щ ен и я )

Первый подпараметр может принимать три значения: 0, 1, 2. Значение 0 кодируют, если необходимо выводить только оператор J©B. Значение 1 кодируют, если необходимо выводить все вход­ ные управляющие операторы, операторы каталогизированных про­ цедур и внутреннее представление операторов после подстановки символических параметров. Значение 2 кодируют, если необходи­ мо выводить только входные управляющие операторы.

Второй подпараметр может принимать два значения: 0 и 1. Значение 0 кодируют, если сообщения о распределении выводить не требуется, за исключением случаев аварийного завершения. При аварийном завершении эти сообщения появляются в качестве вывода. Значение 1 кодируют, если необходимо печатать все со­ общения о распределении.

Параметр CLASS определяет класс задания:

C L A S S = K nacc за д а н и я

Класс задания указывается латинской буквой (от А до О). Та­ ким образом, можно указать до 15 различных классов задания. Если этот параметр опущен, то предполагается, что задан класс А. В соответствии с заданным классом задание попадает в очередь заданий.

Параметр PRTY определяет приоритет задания, с которым оно выбирается из очереди своего класса на выполнение. Чем выше приоритет задания, тем быстрее оно попадает на выполнение:

PRTY= npHOpHTeT

Приоритет задания определяется числом от 0 до 13. Рекомен­ дуется избегать употребления значения 13, так как оно использу­ ется системными программами.

Параметр TYPRUN применяется для задержки выборки зада­ ния из очереди на выполнение. Если закодировано

T Y P R U N = H O L D

то задание независимо от приоритета будет оставаться в очереди заданий. Снять задержку может оператор с помощью команды

RELEASE.

62


Параметр MSGCLASS определяет выходной класс для всех сообщений планировщика заданий:

M S G C L A S S = в ы х о д н о й к л асс

Выходной класс кодируется латинскими буквами от А до Z и цифрами от 0 до 9. Таким образом, допускается до 36 выходных классов. Для каждого класса строится выходная очередь систем­ ного вывода.

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

Параметр COND предназначен для проверки кода возврата пункта задания. Любая обрабатывающая программа после завер­ шения своей работы может передать вызывающей программе код возврата в регистре 15. Более подробно это будет рассмотрено при обсуждении соглашений о связях. Программа пункта задания пе­ редает код возврата в управляющую программу. Для анализа это­ го кода возврата используется параметр COND, который можно кодировать как в операторе JOB, так и в операторе ЕХЕС.

Код возврата должен быть числом, кратным 4, в диапазоне от О до 4095. Смысл каждого значения кода возврата может быть произвольным. Системные обрабатывающие программы выраба­ тывают коды возврата, имеющие следующие значения:

а) код возврата 0 указывает, что выполнение программы было нормальным;

б) при коде возврата 4 выполнение программы было успеш­ ным, однако в процессе выполнения были выявлены ситуации, на­ поминающие ошибки, в связи с чем выдавались предостерегающие сообщения;

в) код возврата 8 указывает, что при выполнении программы были обнаружены ошибки;

г) код возврата 12 свидетельствует о том, что при выполнении программы были обнаружены серьезные ошибки;

д) код возврата 16 обозначает, что были обнаружены ошибки, которые привели к завершению выполнения программы.

Нормальный возврат рекомендуется обозначать кодом 0. Пред­ полагается, что вызывающая программа «знает» назначение каж­ дого кода возврата и умеет его анализировать. Анализ кодов воз­ врата в управляющей программе производится в соответствии с кодированием параметра COND:

C O N D = (( к о д , о п е р а т о р ),.,.)

63


где код — число в диапазоне от 0 до 4095,

оператор — одна из

шести операций сравнения:

 

GT( > ) , G E O ) , E Q ( = ) , LT(<), L E O

) , N E ( ^ ) .

Заданные в параметре коды сравниваются с кодом возврата каждого пункта задания. В операторе COND допускается до 8 про­ верок. Если хотя бы при одной из проверок заданное условие вы­ полняется, то все оставшиеся пункты задания не выполняются и задание завершается. Если параметр COND опущен, то проверка кода возврата не производится.

В режиме мультипрограммирования с переменным числом за­ дач с помощью параметра

REGION= nnnnnK

производится запрос на величину раздела памяти, в котором бу­ дут выполняться все пункты задания. Здесь nnnnn определяет число Кбайтов памяти (1 Кбайт, обозначаемый 1К, равен 1024 бай­ там). Если необходимо для каждого пункта задания установить свой размер раздела, то этот параметр не следует кодировать в операторе JOB, а рекомендуется кодировать в операторах ЕХЕС. В однопрограммном режиме и режиме мультипрограммирования с фиксированным числом задач этот параметр игнорируется.

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

T IM E = (м и н уты , сек ун ды )

Если параметр TIME опущен, то в качестве предельного зна­ чения используется стандартное значение, установленное в про­ цедуре системного ввода. Чтобы снять ограничение времени, не­ обходимо кодировать

Т1МЕ= 1440

Вэтом случае время использования центрального процессора не ограничивается.

Врежиме мультипрограммирования с переменным числом за­

дач отдельные задания могут в процессе выполнения превысить размеры отведенного раздела памяти и вызвать свертывание дру­ гих заданий, выполняемых в оперативной памяти. Эти процессы регулируются параметром ROLL. Он имеет следующий формат:

f YES | I YES ROLL= H NO И NO

Первый подпараметр определяет, может ли данное задание под­ вергаться свертыванию другими заданиями. Второй подпараметр указывает, может ли данное задание свертывать другие задания. Если каждый пункт задания имеет свои запросы на свертывание,

64


то данный параметр следует кодировать в операторах ЕХЕС, а в операторе JOB не кодировать.

Рассмотрим пример оператора JOB:

//NAMEl JOB (3874, 23—01—74),C.P.A,TEL. 555,

//MSGLEVEL= (0, 1), MSGCLASS=A, CLASS = B,

//PRTY= 5, COND=(8,LT),REGION = 55K,

//TIME = 20, ROLL= (NO, NO)

Задание, приведенное в примере, имеет имя NAMEI. Учетный номер задания — 3874. В качестве дополнительной учетной инфор­ мации задана дата в форме 23—01—74. В качестве идентификации программиста заданы его инициалы и телефон. Далее указывает­ ся, что необходимо распечатывать только оператор JOB, а также сообщения о распределении. Для вывода сообщений планировщи­ ка используется класс А . Заданию присвоены класс В и приори­ тет 5. Пункты задания будут последовательно выполняться, если коды возврата каждого из них не будут превышать 8. Если код возврата одного из пунктов более 8, то оставшиеся пункты выпол­ няться не будут. Для выполнения задания требуется раздел опе­ ративной памяти не менее 55К. Время выполнения задания огра­ ничено 20 мин. Задание не допускает свертки и не может вызвать свертку других заданий. Параметры REGION и ROLL используют­ ся только в режиме с переменным числом задач.

3.3. ОПЕРАТОР ПУНКТА ЗАДАНИЯ

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

Оператор пункта задания имеет следующий формат:

//имя ЕХЕС операнды комментарии

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

Имя программы, выполняемой в пункте задания, определяется параметром PGM, который имеет следующий формат:

PGxM = hmh программы

Несмотря на то, что по форме записи этот параметр напомина­ ет ключевой, он является позиционным и должен быть самым пёр-

s. Заказ 3414.

05


вым в списке операндов. Программа, указанная в этом параметре, может находиться в системной библиотеке SYS1.LINKLIB, назы­ ваемой общей библиотекой, во временной библиотеке или в лич­ ных библиотеках. Программа является загрузочным модулем и должна быть разделом библиотеки, размещаемой на томе прямого доступа.

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

Если нет дополнительных указаний, поиск программы произ­ водится в общей библиотеке. Загрузочные модули, получаемые редактором связей, могут быть записаны в личные библиотеки. Программы внутри одной библиотеки не должны иметь совпадаю­ щих имен. В личные библиотеки записываются программы, не предназначенные для частого использования. Чтобы указать си­ стеме, что программу, указанную параметром PGM, следует искать в личной библиотеке, эта библиотека описывается как библиотека задания или библиотека пункта задания. Для того чтобы описать личную библиотеку как библиотеку задания, необходимо сразу же после оператора JOB поместить оператор DD с меткой JOBLIB, в котором должна быть указана личная библиотека. Например, пусть существует личная библиотека с именем САВ.

//NAME

JOB

 

//JOBLIB

DD

DSNAME=CAB

//ST1

EXEC

PGM=A,..,

Библиотека CAB в задании NAME указана как библиотека за­ дания. Поэтому система будет искать программу А , указанную в первом пункте в библиотеке САВ. Еслшв этой библиотеке такой программы не окажется, то производится поиск в общей библиоте­ ке. Этот принцип распространяется на программы всех пунктов задания.

Чтобы сделать личную библиотеку библиотекой пункта зада­ ния, необходимо среди операторов DD, принадлежащих пункту, поместить один оператор с меткой STEPLIB, в котором должна быть указана личная библиотека. Например, если ту же библиоте­ ку САВ необходимо распространить только на пункт ST1, необхо-

дим о записать:

JOB

 

//NAME

 

//ST1

EXEC

PG M =A ,.,,

//STEPLIB

DD

DSNAME = CAB

/ / . . .

DD

t i l

« * с

 

 

66