Enter А, в

Операнды:

А – имя или номер памяти. Обязательный операнд. Допустимые значения: Name, PosInteger, ParenthesizedExpression, SNA или SNA'Parameter.

В – количество элементов, на которое уменьшается доступная емкость памяти. По умолчанию равно 1. Необязательный операнд. Допустимые значения: Null, Name, PosInteger, ParenthesizedExpression, SNA или SNA'Parameter.

Действие

Когда транзакт входит в блок ENTER, операнд А вычисляется и используется для поиска памяти с таким номером. Если такая память не существует, происходит остановка по ошибке. Память должна определяться командами STORAGE.

Если память существует, операнд В служит для определения требуемого объема памяти. Если операнд В задан, он вычисляется, округляется и используется в качестве результата. Если операнд В не задан, по умолчанию используется значение 1.

Если память в доступном состоянии и если существует достаточное количество элементов памяти для удовлетворения потребности транзакта, транзакту позволяется войти, а блок ENTER и его потребность удовлетворяются уменьшением текущего количества свободных элементов на число требуемых. В противном случае транзакт помещается для ожидания в список задержки памяти в порядке приоритета.

Когда элементы памяти освобождаются блоками LEAVE, для выбора транзакта, которому позволяется войти в блок ENTER, используется правило «первого подходящего». Проверяются все транзакты в списке задержки, начиная с самого старшего по приоритету, и из него выбирается первый подходящий, затем снова проверяются все транзакты. Все это осуще­ствляется до того, как активный транзакт покинет блок LEAVE. Это предотвращает возникно­вение конфликтных ситуаций.

Когда транзакт входит в блок ENTER или LEAVE, обновляется статистика, накапливаемая по данной памяти.

Определение движения требований по каналам.

Поскольку СМО многоканальная, то необходимо использовать оператор TRANSFER для обеспечения возможности направления требований к незанятому каналу:


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



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