Перевод многоканального устройства в недоступное состояние и восстановление его доступности

Недоступность МКУ моделируется блоком SUNAVAIL (символ S означает МКУ, UNAVAIL - недоступный). Формат блока:

SUNAVAIL A

Операнд А - имя или номер МКУ, может быть именем, положительным целым числом, выражением в скобках, СЧА, СЧА*параметр.

Например:

SUNAVAIL Batr

Когда транзакт входит в этот блок, МКУ Batr становится недоступным. Если при переводе в недоступное состояние в МКУ находились транзакты, т. е. текущее содержимое МКУ не равнялось нулю, то обслуживание этих транзак-тов продолжается, пока текущее содержимое не станет равным нулю.

Транзакты, которые пытаются занять МКУ во время нахождения его в недоступном состоянии, не входят в блок ENTER и помещаются в список задержки МКУ.

Нахождение в недоступном состоянии продолжается до тех пор, пока транзакт не войдет в блок SAVAIL.

Формат блока:

SAVAIL A

Операнд А - имя или номер МКУ. Может быть таким же, как операнд А в блоке SUNAVAIL.

Если в момент перевода МКУ в доступное состояние в его списке задержки были транзакты, им предоставляется возможность занять МКУ в соответствии с дисциплиной "first-fit-with-skip" (первый подходящий с пропусками).

Транзакты, которым будет отказано в занятии МКУ, остаются в его списке задержки.

Замечание. Имитация выхода МКУ из строя, при котором все транзакты, находившиеся в МКУ на обслуживании, теряются, блоками SUNAVAIL и SAVAIL невозможна. Такая имитация возможна с использованием блока DISPLACE (см. п. 8.2).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: