Cтраница 3
Число блоков управлении, отводимых в Таблице задач системным и проблемным задачам, определяется во время генерации Супервизора и хранится вместе с адресом Таблицы задач в Таблице адресов. [31]
Если вызывающая задача - не фиктивная или вызываемая - не занята, управление передается программе Управление перекрытием, которая проверит, свободен ли вход в Таблице задач для раз-мешения вызываемой задачи и достаточно ли места в основной памяти для загрузки транзита. [32]
Если задачи с условием ожидания незагруженного транзита не найдено ( блок 11), в Диспетчере задач восстанавливается переключатель, чтобы миновать переход к программе Гашение ожидания, запоминается начальный адрес Таблицы задач, и управление передается Диспетчеру задач. [33]
Для любой Р2 программы, выполнившей SVC вызова программы Согласование, требуются действия программы Возврат, за исключением случаев, указанных параметром гг. Объясняется это тем, что Р2 программы окончили свои действия и нужно очистить цепочку связей, чтобы не засорять Таблицу задач. Поэтому, получив управление по первому входу, программа Согласование проверяет, требуется ли обращение к программе Возврат. Если надо ( ггфРС, FE, FD), она обращается к программе Возврат как к своей подпрограмме, после этого управление поступает на второй вход. Обращение к программе Возврат как к подпрограмме диктуется тем соображением, что по окончании работы программы Возврат управление должно вернуться программе Согласование. Если к программе Возврат обратиться посредством команды обращения к Супервизору, то управление по окончании ее работы будет передано программе Диспетчер задач. [34]
Предпосылка г) в каждом отдельном случае может быть легко проверена при помощи интегрирования по частям и требует от краевых условий, чтобы краевые выражения, проявляющиеся при интегрировании по частям, исчезали. Приведенные в таблице I задачи одночленного класса все удовлетворяют выдвинутым здесь более сильным предпосылкам. [35]
За правильное и своевременное заполнение всех полей Таблицы задач отвечают программы Согласование, Возврат и Супервизор перекрытий. Неиспользованные входы в Таблице задач, отведенные проблемным задачам, заполняются единицами, отведенные системным задачам - пробелами, кроме поля Е, равного нулю. [36]
В байте 8 содержится ключ защиты основной памяти, куда ( или откуда) будет выполняться перемещение данных. Ключ защиты памяти берется из Таблицы задач Блока управления той задачи, которая запросила операцию ввода-вывода. [37]
Для управления выполнением программы формируется Блок управления задачей, в котором содержится кодированная информация об этой программе. Совокупность Блоков управления задачами образует Таблицу задач. Как только в Таблице задач отводится участок для размещения Блока управления задачей, происходит инициирование задачи. Для проблемной задачи инициирование означает формирование задачи из шага задания, которое выполняется Управлением заданиями. [38]
После ввода, контроля и коррекции данных для всех задач система переходит к стадии исполнения задач. Супервизор системы отладки циклически просматривает таблицу задач и исполняет задачи в соответствии с их приоритетами, периодами и фазами. [39]
Таблица задач имеет фиксированную структуру с точки зрения размещения Блоков управления системными и проблемными задачами. Местоположение Блока управления задачей в Таблице задач называется входом задачи в Таблицу. Порядковый номер входа идентифицирует задачу и является ее адресом в Таблице задач. [40]
Поле В предназначено для хранения номера вызываемой задачи. Посредством Таблицы номеров системных задач и Таблицы задач определяется номер задачи, которой подчинена требуемая Р2 программа. Вычисленный номер задачи запоминается в поле В вызывающей задачи, если вызываемая задача не занята. Одновременно заполняется поле Е вызываемой задачи. [41]
В следующих двух байтах указывается номер задачи для Р2 программы, занимающей данную область. Это поле используется для связи с Таблицей задач. [42]
Программа Возврат является одной из РЗ программ Супервизора задач, имеющей доступ к Таблице задач и право ее модификации. Основное назначение этой программы - очистить цепочку связей в Таблице задач для задачи, окончившей выполнение, и освободить задачи, ожидающие данную. Программа Возврат получает управление от всех системных задач, окончивших свое выполнение. Все Р2 программы заканчивают свои действия командой обращения к Супервизору для вызова программы Возврат. [43]
Для вызываемой задачи определяется, находится ли подчиненная ей программа в основной памяти. Для этого анализируется поле Д Блока управления вызываемой задачи по Таблице задач. Если значение поля Д равно нулю, то программа не находится в основной памяти и Согласование формирует для вызываемой задачи запрос на вызов программы Выборка, загружающей транзит в основную память. Выполняется SVC вызова программы Согласование, в которой rrFE, ss равно номеру Р2 программы Выборка, номер задачи, подчиненную программу которой надо загрузить в основную память, передается в регистр. [44]
Программа Окончание транзита пользуется всеми значениями, вычисленными в программе Возврат. Для задачи, окончившей свои действия, цепочка связей в Таблице задач очищена и нужно проверить, является ли она транзитом. [45]