В 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 змінює стан ОКП на доступний, тобто відновлює звичайний режим входження транзактів в ОКП: