Cтраница 1
Часть протокола для задачи-обслужнвателя, использующего двустороннюю коммуникацию для минимизации времени блокировки задачп-запросчнка в течение рандеву. [1] |
Обслуживающая задача В завершает выполнение своего оператора accept ( часть рандеву), копируя все ( входные) аргументы, поставляемые задачей А, в переменные, локально доступные для В. Это освобождает задачу-запросчика А от рандеву по истечении минимального времени, позволяя ей продолжить работу. [2]
В набор обслуживающих задач дополнительно введены задача сохранения и уплотнения тома, корректировка объектного модуля, сравнение файлов. [3]
Более общей формой обслуживающей задачи является задача, в тело которой входят обращения к другим задачам. Таким образом, термин задача общего назначения означает объединение в теле этой задачи функций задачи-обслуживателя и задачи-запросчика. После получения какого-либо запроса на обслуживание задача-обслуживатель должна быть в состоянии назначить работу для других задач-обслуживателей. В языке Ада обращение одной задачи к другой разрешается в теле оператора accept или внутри его продолжения. [4]
Предположим, что обслуживающей задаче В необходимо оказать услугу, требующую длительных вычислений и приводящих в процессе рандеву к блокировке на длительное время задачи-запросчика А. [5]
Часть протокола для задачи-обслужнвателя, использующего двустороннюю коммуникацию для минимизации времени блокировки задачп-запросчнка в течение рандеву. [6] |
Этот оператор accept появится в тот момент, когда задача А будет не в состоянии продолжать дальнейшую работу, не получив предварительно данных от обслуживающей задачи В. [7]
По сравнению с ОС РВ 1.0 ( первой версией) версия ОС РВ 2.0, сохраняя основные понятия и концепции, значительно расширяет возможности: набора ПУ; использования задачей физической памяти ( 32 Кслов); набора директив и возможностей управляющей программы; набора команд оператора; набора обслуживающих задач и систем программирования. [8]
Эта проблема не отличается от вопроса предотвращения конфликтов при параллельном использовании базы данных. Обычный путь решения данной проблемы - ввести одну обслуживающую задачу языка Ада, которая выступает в роли арбитра для нескольких пользователей и одной абстракции устройства. [9]
Однако читателям будет полезно выполнить целиком упражнение по преобразованию двух обслуживающих задач, приведенных в приложении Е, для непосредственной передачи сообщений. [10]
Грамотное применение в альтернативе accept части рандеву и ( необязательной) части продолжения позволяет программисту минимизировать время блокировки задачи во время рандеву. Вспомним, что вызывающая задача блокируется в процессе рандеву только на время выполнения части рандеву обслуживающей задачей. По окончании рандеву вызывающая задача и обслуживающая задача продолжают выполняться параллельно. Минимизация времени выполнения оператора accept имеет аналогию с аппаратной частью, когда при использовании протокола запрос-подтверждение для блочно-ориентированного обмена между асинхронно работающими машинами выдается раннее подтверждение. [11]
Грамотное применение в альтернативе accept части рандеву и ( необязательной) части продолжения позволяет программисту минимизировать время блокировки задачи во время рандеву. Вспомним, что вызывающая задача блокируется в процессе рандеву только на время выполнения части рандеву обслуживающей задачей. По окончании рандеву вызывающая задача и обслуживающая задача продолжают выполняться параллельно. Минимизация времени выполнения оператора accept имеет аналогию с аппаратной частью, когда при использовании протокола запрос-подтверждение для блочно-ориентированного обмена между асинхронно работающими машинами выдается раннее подтверждение. [12]