Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GPSS Leshinskaya.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
882.69 Кб
Скачать

4.2 Блоки, связанные с аппаратными объектами

 

        Для   занятия транзактом одноканального устройства служит блок

SEIZE (ЗАНЯТЬ).

 

Формат оператора:

SEIZE A

Значения операндов:

A - идентификатор (число или имя) занимаемого прибора.

Примеры:

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

 

SEIZE Pribor_Disk; транзакт пытается занять прибор с именем PriborDisk; далее по аналогии с предыдущим примером.

 

Удаление транзакта из прибора (освобождение прибора) осуществляется посредством блока  RELEASE (ОСВОБОДИТЬ).

 

Формат оператора:

RELEASE A

Значения операндов:

A - идентификатор (число или имя) освобождаемого прибора.

Примеры:

RELEASE  4; транзакт освобождает прибор с номером 4. RELEASE  Pribor_Disk; транзакт освобождает прибор с именем PriborDisk.

 

          Захват   прибора   вновь прибывшим транзактом осуществляется с помощью блока  PREEMPT (ЗАХВАТИТЬ).

 

Формат оператора:

PREEMPT A,[B],[C],[D],[E]

Значения операндов:

A - идентификатор (число или имя) прибора, подлежащего захвату;

B - определяет условие, при котором разрешён захват прибора: PR -приоритетный режим: захват разрешён, если активный транзакт имеет более высокий приоритет, чем обслуживаемый транзакт; [по умолчанию -Режим прерывания: захват разрешён, если обслуживаемый транзакт не является захватчиком];

C - метка блока, в который направляется транзакт, вытесненный из прибора более высокоприоритетным транзактом; [по умолчанию -Транзакт помещается в СБС];

D - номер параметра вытесненного транзакта, в который записывается оставшееся время обслуживания в приборе, если транзакт направляется к блоку С; используется совместно с операндом C;

E - может принимать только одно значение: RE, означающий режим удаления: вытесненный транзакт удаляется из состязания за прибор; [по умолчанию - вытесненный транзакт не удаляется из состязания за прибор].

 Следует обратить внимание, что приоритетный захват возможен только для прибора, но невозможен для многоканального устройства.

 

       Вход транзакта в многоканальное устройство осуществляется с помощью блока  ENTER (ВОЙТИ).

 

Формат оператора:

ENTER A,  [В]

 

Значения операндов:

A - идентификатор (число или имя) многоканального устройства;

В - количество занимаемых приборов многоканального устройства; [по умолчанию - один].

Примеры:

ENTER   5; транзакт поступает в многоканальное устройство с номером 3 и занимает один прибор (по умолчанию).

 

ENTER MANY,4; транзакт, поступая в многоканальное устрой­ство с именем MANY, занимает 4 прибора.

 

Назначение оператора LEAVE (ВЫЙТИ): удаление транзакта из многоканального устройства.

Формат оператора:

LEAVE A,[B]

Значения операндов:

A - идентификатор (число или имя) многоканального устройства;

B   -   количество   освобождаемых   приборов многоканального устройства; [по умолчанию - один].

Примеры:

LEAVE 5; транзакт покидает многоканальное устройство с номером 5 и освобождает 1 прибор (по умолчанию).

LEAVE MANY,4; транзакт, покидая многоканальное устройство с именем MANY, освобождает 4 прибора.

 

Для изменения   состояния логического ключа предназначен блок  LOGIC (ИЗМЕНИТЬ).

 

Формат оператора:

LOGIC     X A

Значения операндов:

A - идентификатор (число или имя) логического ключа;

X - логический оператор, указывающий тип операции изменения состояния: R - сбросить (выключить), S - установить (включить).

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]