- •Лекция №1 Имитационное моделирование
- •Основные и вспомогательные события
- •Обработка событий в представленной системе
- •Работа системного таймера
- •Одновременные события.
- •Получение значений случайных чисел.
- •Равномерное распределение
- •Лекция №2 Создание модели в системе gpss
- •Лекция №3 Листинги, которые появляются в процессе моделирования.
- •Логика работы интерпретатора
- •Модификация параметров при моделировании
- •Различные законы распределения вероятности появления транзактов в модели
- •Лекция № 4 Задание функций.
- •Многоканальные устройства
- •Модель многопроцессорной системы
- •Лекция № 5
- •Параметры транзактов
- •Лекция №6 Выбор элементов по их состояниям
- •Арифметические переменные
- •Формирование случайных чисел, распределенных по нормальному закону
- •Лекция № 7 Сохраняемые величины
- •Initial имя сохраняемой величины, ее значение/имя, значение/...
- •Управление последовательностью событий
- •Лекция № 8 Логический переключатель
- •Блок select в логическом режиме
- •Организация цикла
- •Булевские переменные
- •Блок buffer
- •Лекция № 9
- •Косвенная адресация
- •Лекция № 10 Цепи пользователя
- •Лекция № 11 .
- •Условный вывод транзактов из цепи пользователя
- •Лекция №12
- •Захват устройства
- •Лекция №13
- •Ансамбли транзактов
- •Использование таблиц
- •Лекция №14
- •Сча таблиц.
- •Дополнительные режимы использования таблиц.
- •2) Rt (Rate – интенсивность) – режим.
- •Время моделирования.
- •Некоторые сведения из Теории вероятностей
Захват устройства
Для описания устройства у нас есть два блока
-
SEIZE
9
ADVANCE
RELEASE
9
Существует возможность занять устройство до истечения времени, указанного в блоке ADVANCE. Для этого введем два новых блока
-
PREEMTIVE
9 - захватить устройство
ADVANCE
RELEASE
9 - освободить устройство
Транзакт, который попал на блок PREEMTIVE 9 вытесняет транзакт, который находился в устройстве 9.
Вытесненные транзакты поступают в цепь вытеснений.
Рассмотрим блок
PREEMTIVE А,B,C,D,E
A - имя устройства
B - PR - приоритет
C - метка блока, куда поступит вытесненный из устройства транзакт
D - номер параметра вытесняемого транзакта, в который записывается значение оставшегося времени пребывания на устройстве этого транзакта
E - RE если операнд существует, то вытесненный транзакт не имеет право занимать это устройство
Операнды, кроме А, могут отсутствовать.
Если операнд В отсутствует, то остальные игнорируются.
Пр.: (фрагментарный)
-
..........................
SEIZE
PROC
ADVANCE
RELEASE
PROC
...........................
PREEMTIVE
PROC – транзакт захватывает устройство PROC
ADVANCE
RETURN
PROC
..........................
PREEMTIVE
PROC,PR – если транзакт-захватчик имеет олееысокий приоритет, чем транзакт-захватчик уже находящийся в устройстве, то происходит вытеснение.
если транзакт-захватчик имеет более высокий приоритет, чем транзакт-захватчик уже находяшийся в устройстве, то происходит вытеснение.
* более высокий приоритет, чем транзакт-захватчик уже находящийся в * устройстве, то происходит вытеснение.
-
ADVANCE
RETURN
PROC
..........................
Лекция №13
Продолжим решение задач. Если ОП моделировать с помощью GENERATE, то прервать генерацию невозможно, следовательно надо заменить GENERATE 100,7 на
-
GENERATE
,,,,,1
N
SEIZE
5
ADVANCE
100,7
SPLIT
1,N
RELEASE
5
...........................
UNLINK
TRANSFER
,K
..........................
PREEMTIVE
5,PR,M,,RE
ADVANCE
0
RETURN
5
M
TERMINATE
K
...........................
Пример 13.1
п
оток
студентов Пр.
телефон
При составлении программы будем учитывать, что звонок, появившийся во время разговора по телефону, должен быть аннулирован.
Версия 1:
* Студенты
-
GENERATE
,,,D
QUEUE
BUFF
SEIZE
PROF
DEPART
BUFF
ASSIGN
5,1000,3
ADVANCE
P5
RELEASE
PROF
TERMINATE
* Телефонные звонки
-
GENERATE
A,B,,,1
GATE NI
PROF,N
PREEMTIVE
PROF,PR,,ADD,5
ADVANCE
C,D
RETURN
PROF
N
TERMINATE
ADD
ASSIGN
5+,300
TRANSFER
,S
Рассмотрим блок GATE NI PROF,N, в котором NI - это стандартный числовой атрибут. Он равен 1, если устройство не захвачено транзактом-захватчиком, но оно может быть занято (I - это СЧА обратный к NI). Транзакт пройдет дальше, если устройство не занято транзактом-захватчиком в противном случае - поступит на метку N.
Версия 2:
* Студенты
-
GENERATE
,,,D
QUEUE
BUFF
SEIZE
PROF
DEPART
BUFF
ADVANCE
1000,3
S
RELEASE
PROF
TERMINATE
* Телефонные звонки
-
GENERATE
A,B,,,1
GATE NI
PROF,N
PREEMTIVE
PROF,PR,,ADD,5
ADVANCE
C,D
RETURN
PROF
N
TERMINATE
ADD
ASSIGN
5+,300
ADVANCE
P5
TRANSFER
,S