
- •Содержание
- •1. Теоретическая часть
- •1.1. Краткие сведения из теории
- •1.2. Основные правила и операторы языка gpss
- •1.3. Структура операторов gpss
- •Основные операторы языка gpss
- •1.5. Основные команды интерпретатора gpss/pc
- •2. Практическая часть
- •2.1. Постановка задачи:
- •2.2. Алгоритм работы программы
- •2.3. Текст программы на gpss
- •2.4. Выходные данные
- •Gpss World Simulation Report - test6.45.1
- •2.5. Тестовый прогон программы.
- •Очередь программ с их временем решения:
- •2.6. Анализ результатов моделирования.
- •3. Используемые источники информации
1.5. Основные команды интерпретатора gpss/pc
@<имя файла> - загрузить исходный текст модели
SAVE <имя файла> - сохранить текст модели
DISPLAY[<строка N 1>],[< строка N 2>] - вывести на экран текст модели, начиная со строки N1 , до строки N 2.
DELETE [<строка N 1>],[<строка N 2>] - удалить из программы текст, начиная со строки N1 , до строки N 2.
EDIT <номер строки> - отредактировать строку текста
CLEAR - сбросить всю статистику модели в ноль (включая таймеры абсолютного и относительного модельного времени), возвратить все транзакты в пассивный буфер .
END - завершить работу интерпретатора.
2. Практическая часть
2.1. Постановка задачи:
На решение в процессор поступает поток программ. Интервалы времени в потоке распределены по экспоненциальному закону со средним временем, распределенным равномерно от 20 до 40 единиц времени. Время решения программ распределено по равномерному закону в диапазоне от 15 до 55 единиц времени. При поступлении на процессор время обработки программы неизвестно (оно становится известно только после окончания ее обработки). Представить модель обработки программ, когда в первую очередь обрабатываются программы с меньшим временем решения.
Определить:
1. Написать модель на языке GPSS/PC-2.
2. Доказать, что заявленный в задании алгоритм обработки программ действует правильно (на примере обработки пакета программ).
3. С помощью модели определить основные характеристики времени реакции.
2.2. Алгоритм работы программы
Очередь
Назначение
времени решения программ
Да Нет
2.3. Текст программы на gpss
10 XPDIS FUNCTION RN1,C20 ;Рандомно выбирается задержка между
генерациями программ
0.0,20/0.1,21/.2,22/.3,23/.4,24/.5,25
0.6,26/.7,27/.75,28/.8,29/.84,30/.88,31
0.9,32/.92,33/.94,34/.95,35/.96,36/.97,37
0.98,38/.99,39/.995,40
12 LONG FUNCTION RN1,D40 ;Рандомно выбирается время решения программ
.025,15/.05,16/.075,17/.1,18/.125,19/.15,20/.175,21/.2,22/.225,23/.25,24.275,25/.3,26/.325,27/.35,28/.375,29/.4,30/.425,31/.45,32/.475,33/.5,34.525,35/.55,36/.575,37/.6,38/.625,39/.65,40/.675,41/.7,42/.725,43/.75,44.775,45/.8,46/.825,47/.85,48/.875,49/.9,50/.925,51/.95,52/.975,53/1,54
16 GENERATE 1,FN$XPDIS ; Генерация программ по экспоненциальному
закону из интервала (20,40)
18 ASSIGN time,FN$LONG ; Задать текущей программе время решения.
20 que QUEUE spisok ; Входящий транзакт увеличивает очередь на
единицу
**************************
** устройство обработки **
**************************
28 met SEIZE ustr ; Выполнение программы началось
30 TEST L p$time,5,adv ; Если параметр time меньше 5, то иди ниже,
иначе иди в adv
34 ADVANCE p$time ; Задержка
38 ASSIGN time-,p$time ; Параметр time уменьшить на p$time
40 TRANSFER ,rel ; Перейти программе в rel
44 adv ADVANCE 5 ; Задержка
48 ASSIGN time-,5 ; Параметр time уменьшить на 5
50 rel RELEASE ustr ; Выполнение программы закончилось
************************
54 DEPART spisok ; Уменьшить длину очереди на единицу
56 TEST E p$time,0,que ; Если time равно 0, то иди ниже, иначе
иди по метке que
66 term TERMINATE 1 ; Завершили программу.