Практическое занятие №5. Прерывание обслуживания

В блоке GENERATE операнд Е задает уровень приоритета транзактов, входящих в модель через данный блок. Такой приоритет является относительным приоритетом. Однако в СМО кроме относительного предусматривается и абсолютный приоритет, когда высокоприоритетная заявка прерывает обслуживание низкоприоритетной.

В системе моделирования GPSS понятию “прерывание обслуживания заявки” соответствует понятие “захватить транзакт”. Транзакт, который захватывает устройство, называется захватчиком, а транзакт, обслуживание которого прерывается, называется захваченнымтранзактом. Для захвата одноканального устройства вместо блоков SEIZE и RELEASE используются соответственно блоки PREEMPT (захватить) и RETURN (вернуть). Транзакт может захватить устройство, только войдя в блок PREEMPT, имеющий формат: PREEMPT A,B,C,D,E.

Рисунок 5-1.Графическое представление блока PREEMPT.

A задает имя устройства, подлежащего захвату (обязательный операнд). Bзадает условие захвата.Если В не задан, то захват происходит, если транзакт сам не является захватчиком. Этот режим называется режимом захвата. в этом случае в модели может быть лишь один захваченный транзакт. Если в поле B записан операнд PR, то захват возможен только в том случае, когда захватчик имеет более высокий, чем у обслуживаемого транзакта приоритет, независимо от того захватчик ли он или нет. Этот режим называется приоритетным режимом. В приоритетном режиме прибор может быть захвачен любым числом транзактов. Поле C указывает имя метки блока, в который будет направлен прерванный транзакт. При отсутствии операнда в поле E прерванный транзакт автоматически восстанавливается на устройстве по окончании захвата. Если же в поле E указан операнд RE, то транзакт теряет такое право. В поле D может быть указан номер или имя параметра прерванного транзакта, в который записывается время его дообслуживания в устройстве.

Транзакт, захвативший устройство, может освободить его (вернуть захваченному транзакту) только войдя в блок RETURN, имеющий формат: RETURN A.

Рисунок 5-2. Графическое представление блока RETURN.

Aзадает имя или номер устройства, подлежащего освобождению от захвата, и его значение должно совпадать с содержимым поляАсоответствующего блокаPREEMPT.На рисунке 5-3 представлен пример модели с многоуровневым прерыванием.

GENERATE A,B,,,1 GENERATE A,B,,,2 GENERATE A,B,,,3

SIZE JOB PREEMPT JOB,PR PREEMPT JOB,PR

ADVANCE A,B ADVANCE A,B ADVANCE A,B

REALEASE JOB RETURN JOB RETURN JOB