Номер - системная задача - Большая Энциклопедия Нефти и Газа, статья, страница 1
Извините, что я говорю, когда вы перебиваете. Законы Мерфи (еще...)

Номер - системная задача

Cтраница 1


Номера системных задач предшествуют номерам проблемных задач.  [1]

В ранних проектах операционных систем номера системных задач фиксировались независимо от того, являлась ли подчиненная им программа резидентной или нет.  [2]

Например, в системе Джей номера системных задач, которым подчинены транзиты Р2, вычисляются по следующему алгоритму. Если номер программ не превышает этого числа, то он не модифицируется и считается равным номеру входа в Таблицу задач. Если номер программы превышает число 32, то производится модификация. Остаток от вычитания плюс константа, равная числу резидентных Р2 программ, является номером соответствующей системной задачи.  [3]

Это поле используется для входа в Таблицу номеров системных задач.  [4]

Каждый вход состоит из двух байт; в первом указывается номер системной задачи для резидентных Р2 программ, или X GQ для транзита. Во втором байте указывается номер этой программы для транзитов Р2, X FF, резидентов Р2 или X FE, если программа объявлена резидентной.  [5]

Если для вызывающей задачи ранее не была построена цепочка связей, то по Таблице номеров системных задач надо определить номер вызываемой задачи.  [6]

При выполнении макрокоманды DELETE управление передается программе Освободить управление загрузочными модулями ( рис. 8.3), которая сначала просматривает Таблицу номеров системных задач, затем - Очередь загруженных программ. Если программа уже вычеркнута из памяти, управление передается программе Возврат. Если программа в памяти, содержимое счетчика использования уменьшается на единицу.  [7]

При выполнении макрокоманды LOAD управление передается программе Занесение загрузочного модуля в основную память ( рис. 8.2), которая сначала по Таблице номеров системных задач определяет, находится ли вызываемая программа в памяти. Если нет, просматривает Очередь загруженных программ. Если обнаружен Блок запроса вызываемой программы, то для нее счетчик использования увеличивается на единицу, загрузка программы не выполняется, управление возвращается программе, выдавшей макрокоманду LOAD. Если ни в одной из Очередей загруженных программ не удалось обнаружить вызываемую программу, то с помощью программы Выборка вызываемая программа загружается в основную память, строится Блок запросов для нее с содержимым счетчика использования, равным единице. Блок запросов помещается в конец Очереди загруженных программ.  [8]

При выполнении макрокоманды LINK, управление получает программа Передача управления программе в другом загрузочном модуле ( рис. 8.4), которая просматривает Таблицу номеров системных задач, затем - Очередь загруженных программ для определения, находится ли модуль в основной памяти. При успешном поиске строится Блок запроса, помещаемый в Очередь активных программ, управление передается в точку входа вызываемого модуля. Если соответствующий Блок запроса найден не был, происходят поиск и загрузка модуля из библиотеки в основную память и помещение Блока запроса для этого модуля в Очередь активных программ.  [9]

Поле В предназначено для хранения номера вызываемой задачи. Посредством Таблицы номеров системных задач и Таблицы задач определяется номер задачи, которой подчинена требуемая Р2 программа. Вычисленный номер задачи запоминается в поле В вызывающей задачи, если вызываемая задача не занята. Одновременно заполняется поле Е вызываемой задачи.  [10]

Сначала проверяется, является ли вызываемая программа резидентной. Проверка идет по Таблице номеров системных задач. Для резидентной программы управление возвращается программе Согласование.  [11]

Системным задачам, которым подчинены резидентные Р2 программы, выделены фиксированные номера задач. Системным задачам, которым подчинены транзиты Р2, также выделены фиксированные номера входов. Естественно, что такие транзиты не могут одновременно находиться в основной памяти. Механизм определения номера системной задачи, которой подчинен тот или иной транзит Р2, будет рассмотрен при изучении Таблицы номеров системных задач.  [12]

Например, в системе Джей номера системных задач, которым подчинены транзиты Р2, вычисляются по следующему алгоритму. Если номер программ не превышает этого числа, то он не модифицируется и считается равным номеру входа в Таблицу задач. Если номер программы превышает число 32, то производится модификация. Остаток от вычитания плюс константа, равная числу резидентных Р2 программ, является номером соответствующей системной задачи.  [13]

Системным задачам, которым подчинены резидентные Р2 программы, выделены фиксированные номера задач. Системным задачам, которым подчинены транзиты Р2, также выделены фиксированные номера входов. Естественно, что такие транзиты не могут одновременно находиться в основной памяти. Механизм определения номера системной задачи, которой подчинен тот или иной транзит Р2, будет рассмотрен при изучении Таблицы номеров системных задач.  [14]

Каждая Р2 программа, резидентная или транзитная, имеет свой собственный номер. Казалось бы, что резидентные программы Р2 не имеет смысла включать в ТНСЗ, так как им соответствуют фиксированные номера задач в Таблице задач и что можно-было бы номера резидентных программ сделать равными номерам их задач. Однако некоторые транзиты Р2 могут по желанию пользователя быть определены как резидентные в момент генерации Супервизора, а часть резидентных программ не включаться вообще в Супервизор или быть определенными как транзитные. Это значит, что каждая конфигурация операционной системы имеет различные наборы резидентных и транзитных программ Р2 из общего числа всех Р2 программ. Поэтому Таблица номеров системных задач содержит номера всех Р2 программ.  [15]



Страницы:      1