ВУЗ:
Составители:
67
Рисунок 7.10- Блок MARK
Для моделирования захвата (прерывания) одноканального устройства
вместо блоков
SEIZE и RELEASE используются соответственно блоки
PREEMPT (захватить) и RETURN (вернуть). Блок PREEMPT имеет сле-
дующий формат:
PREEMPT A,B,C,D,E.
В поле A указывается имя или номер устройства, подлежащего захва-
ту. В поле B кодируется условие захвата. Если это поле пусто, то захват воз-
никает, если обслуживаемый транзакт сам не является захватчиком. Если же
в поле B записан операнд PR, то захват возникает, если приоритет транзакта-
захватчика выше, чем приоритет обслуживаемого транзакта.
Поля C, D и E определяют поведение транзактов, обслуживание кото-
рых было прервано. Поле C указывает имя блока, в который будет направлен
прерванный транзакт. В поле D может быть указан номер или имя параметра
прерванного транзакта, в который записывается время, оставшееся этому
транзакту до завершения обслуживания на устройстве. При отсутствии опе-
ранда в поле E прерванный транзакт сохраняет право на автоматическое
восстановление на устройстве по окончании захвата. Если же в поле E указан
операнд RE, то транзакт теряет такое право. Блоки
PREEMPT и RETURN по-
казаны на рисунке 7.11.
Рисунок 7.11- Блоки PREEMPT и RETURN
Блок
RETURN имеет единственный операнд A, содержащий имя или
номер устройства, подлежащего освобождению от захвата. Блоки
PREEMPT
и
RETURN могут быть использованы для моделирования СМО с абсолютны-
ми приоритетами. В простейших случаях, при одном уровне захвата, в блоке
PREEMPT используется единственный операнд A. При этом прерванный
транзакт переводится симулятором из списка будущих событий в так называе-
мый список прерываний устройства, а по окончании захвата устройства воз-
MARK
A,B,C,D,E
RETURN
A
MARK Рисунок 7.10- Блок MARK Для моделирования захвата (прерывания) одноканального устройства вместо блоков SEIZE и RELEASE используются соответственно блоки PREEMPT (захватить) и RETURN (вернуть). Блок PREEMPT имеет сле- дующий формат: PREEMPT A,B,C,D,E. В поле A указывается имя или номер устройства, подлежащего захва- ту. В поле B кодируется условие захвата. Если это поле пусто, то захват воз- никает, если обслуживаемый транзакт сам не является захватчиком. Если же в поле B записан операнд PR, то захват возникает, если приоритет транзакта- захватчика выше, чем приоритет обслуживаемого транзакта. Поля C, D и E определяют поведение транзактов, обслуживание кото- рых было прервано. Поле C указывает имя блока, в который будет направлен прерванный транзакт. В поле D может быть указан номер или имя параметра прерванного транзакта, в который записывается время, оставшееся этому транзакту до завершения обслуживания на устройстве. При отсутствии опе- ранда в поле E прерванный транзакт сохраняет право на автоматическое восстановление на устройстве по окончании захвата. Если же в поле E указан операнд RE, то транзакт теряет такое право. Блоки PREEMPT и RETURN по- казаны на рисунке 7.11. A A,B,C,D,E RETURN Рисунок 7.11- Блоки PREEMPT и RETURN Блок RETURN имеет единственный операнд A, содержащий имя или номер устройства, подлежащего освобождению от захвата. Блоки PREEMPT и RETURN могут быть использованы для моделирования СМО с абсолютны- ми приоритетами. В простейших случаях, при одном уровне захвата, в блоке PREEMPT используется единственный операнд A. При этом прерванный транзакт переводится симулятором из списка будущих событий в так называе- мый список прерываний устройства, а по окончании захвата устройства воз- 67
Страницы
- « первая
- ‹ предыдущая
- …
- 65
- 66
- 67
- 68
- 69
- …
- следующая ›
- последняя »