Logic X a

Операнд А є номером логічного ключа і може бути назвою, додатнім цілим числом, СЧА або СЧА*параметр. Стан логічного об’єкта, вказаного операндом А, змінюється залежного від значення оператора Х, а саме: S – логічний ключ встановлюється у положення „включено”, R – відповідно встановлюється у положення „виключено”, І – логічний ключ інвертується, тобто його положення змінюється на протилежне.

Розглянемо приклади використання блоку GATE:

GATE U Kdf

GATE NU (FN$Krah+8)

GATE NU Luez,Trif

У першому прикладі блок GATE не пропустить транзакт за умови незайнятості ОКП з назвою Kdf. У другому випадку – коли зайнятий ОКП, номер якого визначається як результат обчислення й наступного округлен­ня виразу в дужках FN$Krah+8. У третьому прикладі у випадку зайнятості ОКП з назвою Luez транзакт буде спрямований до блоку з назвою Trif.

Для перевірки стану ОКП можна використовувати також булеві змінні і блок TEST (Перевірити).

Блок TEST визначає номер наступного блоку для транзакта, що надійшов, залежно від того, чи виконується необхідна умова, записана у вигляді алгебраїчних відношень двох аргументів. Блок TEST також функціонує у двох режимах, властивих блоку GATE.

Формат запису блоку є таким:

TEST X А,В,[С]

Операнди А і В є порівнюваними величинами. Вони можуть бути назвою, числом, рядком, виразом у дужках, СЧА, СЧА*параметр. Умовний оператор X може бути виражений одним із наступних шести умовних операторів: L – менше; LE – менше або дорівнює; Е – дорівнює; NE – не дорівнює; G – більше; GE – більше або дорівнює.

Якщо операнд С зазначений, транзакт завжди може ввійти в блок TEST і залежно від співвідношення операндів А і В буде переданий або в наступний блок, або в блок, зазначений операндом С. Якщо операнд С не зазначений, транзакт при невиконанні умови не зможе ввійти в блок TEST (режим відмови). Він потрапляє в список повторних спроб всіх об'єктів, що беруть участь у перевірці умови. Такий режим є затрудненим, оскільки передбачає багатократну перевірку умов блокування.

Можуть використовуватися наступні СЧА ОКП:

· F – дорівнює 1, якщо ОКП зайнятий, у протилежному випадку – 0;

· FC – кількість транзактів, що займали ОКП за допомогою блоків SEIZE і PREEMPT;

· FR – коефіцієнт використання ОКП;

· FT – середній час обслуговування ОКП одного транзакта.

Розглянемо приклади:

TEST LE Q1,5,Otk1

означає, що якщо умова “довжина черги 1 менше або дорівнює 5” виконується, тоді активний транзакт передається наступному блоку, у протилежному випадку він скеровується до блоку з міткою Otk1.


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



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