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

Лабораторная работа №4 Системы с накопителями: блоки enter, leave, оператор storage. Управление потоком сообщений: блоки gate, test. Операторы variable, fvariable, initial.

Цель работы: Моделирование систем с конечной емкостью накопителей. Управление потоком сообщений на основе заданных соотношений и логических условий. Изучение опе­раторов VARIABLE, FVARIABLE, INITIAL.

В системах массового обслуживания часто задается ограниченная длина очереди или накопителя для требований, которые входят в систему, и ожидают своего обслуживания. Для моделирования систем с ограниченной очередью и параллельной обработкой требований в GPSS/PC используются блоки ENTER, LEAVE и оператор STORAGE. Эти блоки и оператор образуют группу памятей или группу описания накопителей, в которых собираются сообще­ния перед началом обслуживания в одном из устройств. В системе GPSS/PC памяти или на­копители относятся к аппаратной категории, которые имеют визуализацию в виде специаль­ных окон для наблюдения заполнения накопителей (в рабочей строке GPSS/PC следует набрать сочетание клавиш Alt+S).

Блок GATE проверяет состояние устройств, памятей, логических ключей. Блок TEST сравнивает два стандартных числовых атрибута по вычисляемому отношению. Оба блока управляют потоком сообщений (транзактов).

Пример 1. Входной поток требований поступает в накопитель с допустимой емкостью, равной 5 единицам, равномерно в течение 4±1 мин. Если требования после накопителя за­стают 1-е устройство заполненным, то они поступают на обработку во 2-е устройство. Время обработки для 1-го устройства равно 13±1 мин., для второго — 11±1 мин. Смоделировать процесс обработки требований в течение 3 часов (180 мин.).

Решение примера 1 приводится как программа 1.

Программа 1

SIMULATE

nak STORAGE 5; Накопитель емкостью в 5 единиц

10 GENERATE 4,1

20 GATE SNF nak,FACIL2; Анализ состояния накопителя

30 ENTER nak

35 QUEUE 1

40 SEIZE 1; 1-е устройство

45 DEPART 1

50 LEAVE nak

60 ADVANCE 13,1

70 RELEASE 1

80 TERMINATE

100 FACIL2 SEIZE 2; 2-е устройство с меткой FACIL2

200 ADVANCE 11,1

300 RELEASE 2

  1. TERMINATE

***************************************************************************************

500 GENERATE 180

600 TERMINATE 1

START 1

;END

В данном примере поступающие в систему требования сначала буферизуются в нако­пителе емкостью в 5 единиц, а потом пытаются попасть на обработку в 1-е устройство. Если первое устройство оказывается занятым, т.е. в нем осуществляется обслуживание, то очередное требование поступает на обслуживание во второе устройство. В программе используются следующие форматы записи оператора STORAGE, блоков ENTER, LEAVE и GATE.

Формат записи оператора STORAGE:

nak STORAGE 5

Описание оператора находится вне основного тела программы, без нумерации. Метка nak служит для обращения или ссылки на оператор. Операнд поля <A> определяет объем накопителя (у нас 5). Операнд поля <A> должен быть положительным целым. Когда транзакт пытается войти в блок ENTER, то запрос на емкость накопителя сравнивается с доступной емкостью. Если запрос может быть выполнен, то транзакт входит в блок ENTER, и текущая емкость накопителя уменьшается. Если запрос транзакта не может быть удовлетворен, то транзакт входит в список задержки многоканального устройства.

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