ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 17.10.2024
Просмотров: 83
Скачиваний: 0
Устройство |
Устройство |
системного |
прямого |
ввода |
дост упа |
В ходны е |
В ходны е |
пот оки |
|
за д а н и й |
очереди |
О перат ивная |
Уст ройст во |
Уст ройст во |
п а м я т ь |
прямого |
си ст ем н ог о |
|
д о с т у п а |
вывода |
Выполняемые |
Вы ходны е |
Вы ходны е, |
задания (пункт ы |
очереди |
данны е |
заданий ) |
|
|
Р и с . 16. О б р а б о т к а п о т о к а з а д а н и й в м у л ь т и п р о гр а м м н ы х р е ж и м а х
выполнения оно будет считывать данные не с перфокарт, а с тома прямого доступа, что сокращает время выполнения программы.
Место задания в очереди определяется значением приоритета задания, который обозначается числом от 0 до 13. Приоритет за дания указывается также в операторе JOB параметром: PRTY= значение приоритета. Чем выше значение приоритета, тем ближе к выходу помещается задание. Указанное значение приоритета оп ределяет приоритет предварительного планирования заданий для выполнения. Задания, помещенные во входные очереди, еще не вы полняются. Априорно значения классов и приоритетов заданий ни как не связаны с характером самого задания. Эти значения указы ваются в задании программистами. Классификация заданий и на значение приоритетов производится администрацией вычислитель ного центра, которая сообщает программистам классы и приорите ты заданий.
Аппарат классов и приоритетов заданий является универсаль ным системным средством, основное назначение которого — макси мальная загрузка ресурсов системы с целью повышения пропуск ной способности вычислительной установки. Например, пусть в по токе заданий есть такие задания, которые требуют большого коли чества оперативной памяти, но мало используют центральный про цессор и другие ресурсы системы. Нецелесообразно выполнять та кие задания одновременно, так как небольшое количество таких заданий займет всю оперативную память, а другие ресурсы не бу дут использованы. Их лучше выполнять последовательно, присвоив им один и тот же класс и определив порядок их прохождения зна чением приоритета. Одновременно с выполнением такого задания следует выполнять задания других типов (назначив для них другое значение класса), например, такие, которые требуют меньшего объема оперативной памяти, но более интенсивно используют ос тальные ресурсы системы. В свою очередь и эти задания могут быть разбиты на классы по какому-либо принципу (например, по степе ни интенсивности использования центрального процессора и др.).
При пакетном режиме обработки значение приоритета задания практически не влияет на время получения результатов решения программистом, поскольку вычислительный процесс организуется таким образом, что прием заданий на обработку, формирование очередных порций входного потока, установка на системное уст ройство ввода и выдача результатов программистам производятся по расписанию и приурочиваются к определенному времени. Про граммист, нарушивший порядок и присвоивший своему заданию завышенный приоритет, получит результаты вместе с выдачей ре зультатов других заданий.
Значение приоритета может быть использовано для повышения количества заданий, выполняемых в единицу времени. Например, «короткие» задания, не требующие большого количества машинно го времени, могут иметь более высокий приоритет по сравнению с заданиями, требующими большого счета. В этом случае «короткие»
4?
задания не будут задерживаться во входных очередях и програм мисты будут быстро получать результаты. Так как «короткие» за дания не требуют большого количества машинного времени, на вы полнении «длинных» заданий это мало отразится.
Тем не менее возможны ошибки, а также сознательные откло нения от правил при назначении значений классов и приоритетов заданий, которые могут нарушить установленный в вычислитель ном центре порядок прохождения заданий. Для контроля поступа ющих на обработку заданий может быть использована система уче та, состоящая из учетной информации, указываемой в операторах JOB и ЕХЕС, и программ учета, обрабатывающих учетную инфор мацию и ряд других параметров.
Система учета строится в зависимости от особенностей исполь зования вычислительной установки, в соответствии с которыми сис темные программисты вычислительного центра разрабатывают программы учета. Каких-либо стандартных программ учета опера ционная система не содержит.
Задания, находящиеся во входных очередях, выбираются для выполнения специальной управляющей программой-инициатором. Инициатор, как и программа системного ввода, входит в состав планировщика заданий. В функции инициатора входят выбор оче редного задания из очереди, распределение для него необходимых устройств ввода-вывода, загрузка программы, указанной в пункте задания, и передача ей управления. После этого инициатор освобож дает оперативную память. Так как загрузка и передача управле ния осуществляются посредством программ супервизора, находя щихся в ядре, то обычно загрузка программы, указанной в операторе ЕХЕС пункта задания, производится на то место опера тивной памяти, которое занимал инициатор, поскольку он уже не нужен.
Кроме перечисленных функций инициатор вызывается после за вершения задания для освобождения устройств, выполнения пред писанных действий с наборами данных, освобождения оперативной памяти. Вслед за этим он выполняет инициирование следующего задания из очереди.
В системе могут действовать несколько инициаторов, являю щихся копиями одной и той же программы. Каждый инициатор приписан одному или нескольким классам. Это означает, что он может инициировать задания из одной или нескольких очередей. Если инициатор приписан нескольким классам, то сначала он об служивает задания только из очереди первого из указанных клас сов. В том случае, если очередь окажется пустой, этот инициатор будет обслуживать очередь второго класса и т. д.
К одной входной очереди может быть приписано несколько ини циаторов. Задания из одной и той же очереди могут выполняться одновременно, если эту очередь обслуживают несколько инициато ров. Если очередь обслуживается одним инициатором, то задания из этой очереди будут выполняться последовательно друг за дру
43
гом, но одновременно с выполнением заданий из других очередей. Отметим, что если инициатор приписан к какой-либо очереди, то это не значит, что он ее обслуживает. Класс данной очереди может быть для инициатора вторым, третьим или четвертым и т. д. Тогда в процессе обслуживания очередей предыдущих классов инициатор данную очередь не обслуживает.
В течение интервала времени между инициированием и завер шением задание выполняется в оперативной памяти под управ лением программ супервизора, большая часть которых находится
вядре. Эти программы обрабатывают прерывания, возникающие
впроцессе работы системы; организуют мультипрограммную рабо ту; выполняют системные запросы программ, такие, как выделение оперативной памяти, динамическая загрузка программ, распарал леливание выполнения программы и т. п.
Результаты работы программы пользователя могут быть выве дены на системное устройство вывода. В процессе выполнения программы пользователя выходные наборы данных записываются на том прямого доступа и образуют выходные очереди. Каждая выходная очередь соответствует одному выходному классу зада ния. Допускается до 36 выходных классов, которые обозначаются латинскими буквами от А до Z и цифрами от 0 до 9. Выходной класс указывается в операторе JOB параметром: MSGLASS = обозначение выходного класса, а также в операторе DD парамет ром: SYSOUT = обозначение выходного класса. Первый параметр определяет выходной класс для сообщений системы, предназначен ных для программиста; второй — выходной класс наборов данных, вырабатываемых в программе для вывода на устройство систем ного вывода.
Место выходного набора данных в очереди определяется пара метром PRTY. При завершении выполнения задания заканчиваете [ формирование выходных наборов данных, и они могут выводиться на системные устройства вывода.
Одно задание может создавать несколько выходных наборов данных с разными классами. Это может быть, в частности, ис|
пользовано для направления различных наборов данных на раз! личные устройства. Например, системные наборы данных могут! быть выведены на одно устройство, а выходные наборы данных — \ на другое. ] Вывод выходных наборов данных производится программой сис-( темного вывода, которая входит в состав планировщика заданий. Одновременно могут работать несколько программ системного вы вода, каждая из которых связана со своим устройством системного вывода (АЦПУ, выходной перфоратор, накопители на магнитной ленте, магнитных дисках). Одна программа системного вывода мо жет быть поиписана к нескольким выходным очередям. При этом используется то же самое соглашение, что и для инициаторов: прежде всего обслуживается та очередь, класс которой указан пер вым. Если эта очередь пуста, обслуживается очередь, класс кото
рой указан вторым и т. д.
4. Заказ 3414. |
49 |
|
Преимущество использования программы системного вывода по |
|
|
сравнению с непосредственным выводом данных на устройство в |
|
|
процессе выполнения программы заключается в том, что програм |
|
|
ма системного вывода работает практически в темпе работы уст |
|
|
ройства, а не в темпе выполнения программы, вырабатывающей |
|
|
выходной набор данных, который может быть медленным и содер |
|
|
жать паузы. Кроме того, программы системного вывода |
выполня- |
| ются одновременно с выполнением следующих заданий, |
что повы |
|
! |
шает уровень мультипрограммирования. |
|
Кроме программ системйого вывода, могут быть использованы |
||
' |
программы прямого системного вывода, которые производят вывод |
|
; |
данных на устройства системного вывода непосредственно в про- |
|
! |
цессе выполнения программ пользователей, без предварительного |
!запоминания на томах прямого доступа.
!Кроме системных программ ввода и вывода, могут быть ис-
;пользованы обычные методы вывода, ввода и модификации набо ров данных на любом устройстве ввода-вывода, обеспечиваемом операционной системой. В этом случае не должны использоваться устройства системного ввода и системного вывода.
Таким образом, мы рассмотрели четыре программы, входящие в состав планировщика заданий: программу системного ввода, про грамму системного вывода, инициатор и программу прямого сис темного вывода. Первые три программы работают в самостоятель
|
ных разделах памяти. Последняя программа выполняется в раз- |
|||
: |
деле памяти программы пользователя. Перечисленные системные |
|||
программы, а также программы, указанные в пунктах различны:* |
||||
! |
заданий, могут выполняться одновременно в мультипрограммном |
|||
; |
режиме. |
|
различных зада |
|
|
Допускается одновременное выполнение до 15 |
|||
|
ний. Это связано с тем, что память задания необходимо защищать |
|||
|
ключом защиты. Существует всего 16 ключей защиты. Один ключ |
|||
|
отводится для защиты ядра и некоторых системных |
программ. |
||
|
Остальные ключи распределяются между заданиями. Программа |
|||
|
пункта задания может образовывать подзадачи, выполняемые в |
|||
|
мультипрограммном режиме одновременно с породившей их зада |
|||
|
чей и друг с другом, с задачами и подзадачами других заданий, а |
|||
|
также с системными задачами. В режиме мультипрограммирова |
|||
|
ния с фиксированным числом задач в рамках одного пункта зада |
|||
|
ния может выполняться максимально 250 задач |
(задачи и под- |
||
/ задачи эквивалентны друг другу). |
В режиме мультипрограммиро- |
|||
I |
вания с переменным числом задач |
такого ограничения |
не суще- |
'ствует.
"Программы системного ввода и вывода, а также инициаторы
запускаются командой START. Эта команда выдается оператором. После процедуры начальной загрузки эти команды могут выда ваться автоматически системой, если такая возможность была за казана при генерации операционной системы и не была отменена оператором в процессе начальной загрузки. В командах START для программ системного ввода и вывода указываются адрес сис-
50