0,0/.100,.104/.200,.222/.300,.355/.400,.509
.500,.690/.600,.915/.700,1.200/.750,1.380
.800,1.600/.840,1.830/.880,2.120/.900,2.300
.920,2.520/.940,2.810/.950,2.990/.960,3.200
.970,3.500/.980,3.900/.990,4.600/.995,5.300
.998,6.200/.999,7/1,8
TYPE FUNCTION RN1,D3; Тип задачи
.5,1/.85,2/1,3
RAM FUNCTION P1,D3; Объем памяти в 100 Кбайт для задач 1, 2,
; 3 типов 1,2/2,3/3,4 TIME_CP FUNCTION P1,D3; Время работы процессора для задач
; 1, 2, 3 типов 1,15/2,20/3,25 TIME_BD FUNCTION P1,D3; Время вывода в БД для задач
; 1, 2, 3 типов 1^/2,5/3,7
RAM STORAGE 10; Объем памяти компьютера 100 Кбайт
*
GENERATE 20; Время появления
; задач 1, 2, 3 типов
ASSIGN 1,FN$TYPE; Определение типа задачи
ASSIGN 2,FN$RAM; Требуемый объем памяти
ASSIGN 3,FN$TIME_BD; Время вывода в БД
ASSIGN 4,FN$TIME_CP; Требуемое время процессора
QUEUE Q_RAM; Ждать освобождения памяти
ENTER RAM,P2; Занять память для задачи
DEPART Q_RAM; Освободить очередь к памяти
CALC SEIZE CP; Занять процессор
ADVANCE 5; Считать 5 мин
RELEASE CP; Освободить процессор
SEIZE BD; Начать вывод в БД
ADVANCE РЗ; Время вывода в БД
RELEASE BD; Закончить вывод в БД
ASSIGN 4-,5; Сколько времени процессора
|
|
; еще надо?
TEST LE P4,0,CALC; Задача закончилась?
SVOP LEAVE RAM,P2; Да, освободить память RAM
STORAGE 10; Объем памяти компьютера 100 Кб
*
GENERATE 200,FN$EXPDIS,,,3; Появление аварийной
;ситуации - задача 4 QUEUE Q_RAM
PREEMPT CP,PR,SVOP; Занять немедленно процессор,
; выгрузить прерванную; задачу из памяти DEPART Q_RAM
CALC SEIZE CP; Занять процессор
ADVANCE 5; Считать 5 мин
RETURN CP; Освободить процессор
SEIZE BD; Начать вывод в БД
ADVANCE 2; Время вывода в БД
RELEASE BD; Закончить вывод в БД
LEAVE RAM,2; Освободить память
TERMINATE; Завершить задачу типа 4
GENERATE,„1,5; Запустить компьютер
ENTER RAM,2; Загрузить ядро ОС в память
ADVANCE 7200; Работать 5 суток (60*24*5 мин)
LEAVE RAM,2; Выгрузить ядро ОС
TERMINATE 1; Завершить работу компьютера
Результаты моделирования:
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY CP 1293 0.887 4.940 1 0 0 0 0 0
BD 1261 0.783 4.473 1 397 0 0 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
Q_RAM 5 0 395 194 0.711 12.954 25.457 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.С. UTIL. RETRY DELAY RAM 10 8 0 10 1023 1 8.101 0.810 0 0
Задание для самостоятельной работы:
1. Из трех пунктов А, В и С в систему поступают заявки с приоритетами соответственно 1, 2 и 3. Все три потока заявок являются пуассоновскими со средним временем 60 с. Эти заявки поступают на устройство VALZH. После обслуживания этим устройством приоритеты всех заявок уравниваются и приобретают значение 4. Приведите фрагмент программы, которая моделирует эту ситуацию.
2. Выполните пример 4.37 в пошаговом режиме (используйте команду STEP 1 в пункте меню Comman d или откройте окно блоков). Убедитесь, что появление приоритетной задачи типа 4 прерывает обслуживание задач других типов и выгружает их из памяти.
|
|
3. Выполните задание 11 из главы 7.