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

Вызывающая задача

Cтраница 3


Если значение поля Е вызываемой задачи отлично от нуля, то вызываемая задача занята, и для вызывающей ее задачи необходимо построить цепочку ожидания. В этом случае в поле Г вызывающей задачи записывается номер вызываемой задачи, а в поле Ж вызываемой задачи добавляется единица для увеличения счетчика ожидающих задач. Управление передается программе Диспетчер задач.  [31]

Сообщение входит в синтаксис оператора вызова входа и соответствует описанию входа entry в вызываемой задаче. Если все завершается благополучно, то вызывающую задачу информируют о том, что сообщение было получено. После этого вызывающая программа возобновляет свою работу. Это означает, что нить управления вызывающей задачи возобновляет свою работу, а вызываемая задача продолжает выполнять свой независимый участок программы.  [32]

Поле Е предназначено для хранения номера вызывающей задачи. Когда задача вызывает неактивизированную задачу, в поле В вызывающей задачи ставится номер вызываемой задачи, в поле Е вызываемой задачи ставится номер вызывающей задачи. Заполнение поля Е означает, что вызываемая задача активизирована и будет занятой по отношению к другим вызывающим задачам.  [33]

Присвоение номера пульта проблемной задаче осуществляет программа Главный планировщик во время инициирования проблемной задачи. Когда одна задача вызывает другую, поле 3 копируется из блока управления вызывающей задачи в блок управления вызываемой задачи.  [34]

Если вызывающая задача фиктивная, заполняется вход в Очереди вызовов из фиктивной задачи, увеличиваются счетчик входов в эту таблицу СВ и СОП, и управление передается Диспетчеру задач. Если свободных областей для размещения вызываемого транзита недостаточно, то управление передается на проверку того, фиктивная вызывающая задача или нет.  [35]

Поле Г также предназначено для хранения номера вызываемой задачи. Если вызываемая задача занята ( поле Е отлично от нуля), ее номер запоминается в поле Г вызывающей задачи. Одновременно в поле Ж вызываемой задачи добавляется единица.  [36]

Ответ для вызывающей задачи выполняется почти так же, как в рассмотренном выше случае простого рандеву. Сообщение о конце рандеву, включающее значения результата для всех параметров типа out и in out, посылается в вызывающую задачу в порт E RES-POND. Повторная инициализация оператора select гарантирует, что выбранная альтернатива сможет повторно вызвать рандеву в случае, если оператор select будет исполнен повторно.  [37]

Обращение третьей группы представляет собой макрокоманду RETURN. Макрокоманда RETURN используется в программе, подчиненной вызываемой задаче, по окончании ее действий, чтобы передать управление программе, подчиненной вызывающей задаче. Программа, соответствующая макрокоманде RETURN, вызывает РЗ программу Возврат, которая очищает цепочку связей для вызываемой задачи, подготавливая управляющие таблицы к новому просмотру. Программа Возврат относится к Супервизору задач.  [38]

Задача является активной, если она является вызываемой по отношению к некоторой вызывающей задаче. Это значит, что поля Б, В, Г ее Блока управления равны нулю, а в поле Е указан номер вызывающей задачи. Поле Ж будет заполнено в том случае, если эту задачу ожидают какие-либо другие задачи.  [39]

Поле Е предназначено для хранения номера вызывающей задачи. Когда задача вызывает неактивизированную задачу, в поле В вызывающей задачи ставится номер вызываемой задачи, в поле Е вызываемой задачи ставится номер вызывающей задачи. Заполнение поля Е означает, что вызываемая задача активизирована и будет занятой по отношению к другим вызывающим задачам.  [40]

В основу создания Р2 программ положен параметрический принцип. Чтобы получить доступ к параметрам, Р2 программа выполняет следующие действия: по Таблице адресов выбирает адрес Таблицы задач и номер текущей задачи ( она является вызываемой), вычисляет адрес своего Блока управления ( вызываемой задачи), из поля Е извлекается номер вызывающей задачи и вычисляется адрес ее Блока управления, поле А вызывающей задачи используется для выборки параметров. Когда все параметры выбраны, значение Р - счетчика увеличивается для перехода к следующей команде в прерванной программе и запоминается в поле А.  [41]

В основу создания Р2 программ положен параметрический принцип. Чтобы получить доступ к параметрам, Р2 программа выполняет следующие действия: по Таблице адресов выбирает адрес Таблицы задач и номер текущей задачи ( она является вызываемой), вычисляет адрес своего Блока управления ( вызываемой задачи), из поля Е извлекается номер вызывающей задачи и вычисляется адрес ее Блока управления, поле А вызывающей задачи используется для выборки параметров. Когда все параметры выбраны, значение Р - счетчика увеличивается для перехода к следующей команде в прерванной программе и запоминается в поле А.  [42]

Грамотное применение в альтернативе accept части рандеву и ( необязательной) части продолжения позволяет программисту минимизировать время блокировки задачи во время рандеву. Вспомним, что вызывающая задача блокируется в процессе рандеву только на время выполнения части рандеву обслуживающей задачей. По окончании рандеву вызывающая задача и обслуживающая задача продолжают выполняться параллельно. Минимизация времени выполнения оператора accept имеет аналогию с аппаратной частью, когда при использовании протокола запрос-подтверждение для блочно-ориентированного обмена между асинхронно работающими машинами выдается раннее подтверждение.  [43]

Бывают ситуации, когда вызывающая задача должна вызвать одновременно две задачи. Проверяется, ждет ли вызывающая задача. Если вызывающая задача ожидает ( для нее раньше была построена цепочка связей), то второй вызов ( Ml, МЗ) запоминается в Очереди ожидания ( см. главу 6), увеличивается Счетчик ожидающих программ, управление передается Диспетчеру задач.  [44]

Задача может обратиться к другой задаче с требованием выполнить для нее некоторую функцию. В этом случае задача, которая осуществляет вызов другой задачи, называется вызывающей. Задача, к которой обратилась вызывающая задача, называется вызываемой.  [45]



Страницы:      1    2    3    4