Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КНИЖКА_Моделювання систем у GPSS World.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
7.15 Mб
Скачать

5.8. Блоки апаратної категорії для переведення одноканальних пристроїв у стан недоступності

В GPSS World передбачені блоки, що реалізують недоступність ОКП протягом певного часу і переводять пристрій у режим доступності. Викорис­тання цих блоків адекватно відображають статистику роботи ОКП. Тут йдеться про наступне. Наприклад, для моделювання несправностей можна використовувати й режим переривання (PREEMPT). Однак транзакти, що викликають переривання, враховуються в статистиці як і транзакти, обслужені при реальному функціонуванні ОКП. Це зумовлює недостовірність статистики роботи ОКП.

Для цього використовуються блоки FUNAVAIL і FAVAIL (символ F FACILITIES означає ОКП, UNAVAIL – недоступний). Блок FUNAVAIL створює недоступність пристрою до цих пір, поки у дію не вступить блок FAVAIL. Формат блоку:

FUNAVAIL А,[В],[С],[D],[E],[F],[G],[H]

Блок робить недоступним ОКП з назвою або номером, що вказується операндом А.

Операндом В задаються режими оброблення транзакта, що займає ОКП в момент переведення його в недоступний стан:

  • СО режим продовження: продовжити оброблення транзакта, що займає ОКП під час недоступності;

  • RE режим видалення: видалити й скерувати транзакт, що займає ОКП до блоку, мітка якого повинна бути зазначена операндом С;

  • за замовчуванням – перервати оброблення й помістити в список переривань ОКП; після відновлення доступності цей транзакт може зайняти ОКП і завершити обслуговуватися.

Операнд С – мітка блоку, у який спрямовується у режимі видалення транзакт, що займав ОКП в момент переведення його в недоступний стан.

Операнд D – номер або назва параметра транзакта, що займав ОКП в момент переведення його в недоступний стан. Якщо він буде вилучений (режим RE), то у цей параметр буде записаний час, що залишився вилученому транзакту до кінця обслуговування.

Операндом Е задаються режими оброблення транзактів, обслуговування яких на даному ОКП було раніше перерване до моменту переведення ОКП в недоступний стан (транзакти знаходяться у списку переривань):

  • СО режим продовження: продовжити роботу ОКП під час недоступності – обслуговувати транзакти зі списку переривань;

  • RE режим видалення: видалити й скерувати транзакти зі списку переривань до нового блоку, мітка якого зазначена операндом F;

  • за замовчуванням – залишити раніше перервані транзакти в списку переривань ОКП ій заборонити їм займати його під час недоступності.

Операнд F вказує мітку блоку, до якого будуть спрямовані транзакти зі списку переривань ОКП. Для них немає можливості занесення в їхні параметри часу, що залишився до кінця обслуговування. Операнд F може використовуватися й тоді, коли відсутній операнд Е (за замовчуванням). У цьому випадку для переміщених до нового блоку транзактів переривання обслуговування зберігається.

Операндом G задаються режими оброблення транзактів, що перебувають до моменту переведення ОКП в недоступний стан у списку відтермінованих переривань (тих, що очікують виконання з перериванням і знаходяться у списку затримування:

  • СО режим продовження: продовжити роботу ОКП під час недоступності – обслуговувати транзакти зі списку відтермінованих переривань і списку затримування;

  • RE режим видалення: видалити й скерувати транзакти зі списку відтермінованих переривань і списку затримування до нового блоку, мітка якого зазначена операндом Н;

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

Операндом Н вказується мітка нового блоку, до якого в режимі видален­ня (RE) скеровуються транзакти зі списку відтермінованих переривань і списку затримування. Невикористання операнда G зумовлює відсутність й операнда Н.

Блок FAVAIL змінює стан ОКП на доступний, тобто відновлює звичайний режим входження транзактів в ОКП:

FAVAIL A

Всі транзакти, що очікують доступного стану ОКП, зазначеного операндом А, активізуються й можуть спробувати зайняти його.

Перевірка стану ОКП в режимі недоступності здійснюється блоком GATE.

Умова перевірки задається одним із наступних умовних операторів X:

  • FNV – ОКП, заданий операндом А, недоступний;

  • FV – ОКП, заданий операндом А, доступний.

Наприклад:

GATE FNV Krosh

GATE FV (FN$Rasp-X$Col)

GATE FNV Print,Mod

У першому прикладі блок GATE пропустить транзакт, коли ОКП Krosh буде недоступний. У другому прикладі транзакт пройде до наступного блоку, коли доступний ОКП з номером визначеним як результат обчислення й наступного заокруглення до цілого виразу в дужках (FN$Rasp-X$Col). У третьому прикладі у випадку доступності ОКП Print транзакт буде скерований до блоку з міткою Udal.

Рзглянемо приклад, який представляє сегмент імітації виходу з ладу і встановлення працездатності ОКП:

GENERATE (Exponential (24,0,350)) ;Джерело транзактів

FUNAVAIL Cpu1,RE,Ter1,,RE,Ter2,RE,Ter3 ;Переведення в недоступність

ADVANCE (Normal(11,15,4)) ;Відновлення доступності

FAVAIL Cpu1 ;Переведення в доступний стан

TERMINATE

Блок GENERATE генерує транзакти через випадкові інтервали часу. Транзакти входять в блок FUNAVAIL і переводять ОКП Cpu1 в недоступний стан, що відповідає виходу із ладу. Всі транзакти, що перебували до цього моменту у списку зупинок ОКП Cpu1, а також транзакт, що займав цей ОКП (якщо такий був) видаляються. Блок ADVANCE імітує процес відновлення, а блок FAVAIL переводить ОКП в доступний стан, тобто фіксує момент переходу в справний стан після ремонту.