TEST g q1,5

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

Наведемо приклад використання блоку TEST для перевірки стану ОКП, у якому транзакти очікують обслуговування, якщо довжина черги є не більшою 4. У протилежному випадку обслуговування не здійснюється (транзакт направляеться в блок TERMINFTE помічений міткою LBL). Відповідний фрагмент програми може бути таким:

TEST LE Q$STR,4,LBL

QUEUE STR

SEIZE POINT

DEPART STR

ADVANCE 50,16

RELEASE POINT

...

LBL TERMINFTE 1

...

Блоки статистичної категорії

У статистичній категорії GPSS використовуються два типи об’єктів: черги і таблиці. Вони вводяться для збирання та реєстрації статистичних даних. Статистичні дані про черги автоматично збираються у моменти вход­ження транзактів у блок QUEUE (Стати у чергу) або у блок DEPART (Вийти з черги). Необхідно зауважити, що блоки QUEUE і DEPART не моделюють чергу, а тільки дозволяють системі GPSS збирати інформацію про чергу.

Ця статистика повинна дати відповіді на наступні питання:

· скільки разів транзакти надходили в чергу і яке максимальне значення її довжини;

· скільки транзактів надійшли до черги й скільки їх відразу без черги потрапило на обслуговування в ОКП;

· яке середнє число транзактів і середній час їх очікування.

Формат запису блоку QUEUE наступний:

QUEUE А,[В]

Операнд А задає номер або назву черги, в яку надходить транзакт. Значення поточної довжини черги зберігається в СЧА Q$ <назва черги>. Транзакт, що приєднується до черги, запам’ятовує її назва. Також визначається довжина інтервалу часу, протягом якого довжина черги не змінюється. Операнд В визначає число одиниць, на яке збільшується поточна довжина черги з входом транзакта у блок. Якщо операнд В не використовується, то додається одиниця. Після цього порівнюється нова довжина черги з максимальною (вже досягнутою). Якщо нове значення більше від максимального, то попереднє максимальне значення замінюється на нове. Загальне число одиниць черги використовується для визначення середнього часу перебування транзактів у черзі.

Розглянемо приклади запису блоку QUEUE.

QUEUE Cher1

Із входом кожного транзакта в блок QUEUE збільшується довжина черги Cher1 на одиницю.


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



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