Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Фатихов Б.Н. 4207-2 вариант.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
990 Кб
Скачать
☆

Метод построения модели

В качестве метода построения модели функционирования класса персональных компьютеров используется имитационное моделирование. Для моделирования на GPSS надо определить, какие элементы GPSS надо использовать для удовлетворения условий модели.

В данном случае существуют следующие условия. Имеется PK1,PK2,PK3, при моделировании которых используются обслуживающие устройства (SEIZE). Входной поток отождествляется с транзактами, которые передвигаются в системе. Очередями (ENTER) служат очереди BUF1, KAN. Очередью (QUEUE) служит очередь BUF2.

Время моделирования задаётся с помощью оператора GENERAT

Блок – схема

GОТ

Решённые

задачи

Транзакты

реж. недост.

Отказы, если KANал занят, или в реж. недоступности

Отказы, если все места в BUF1 заняты и транзактам, пре-

рванным по приоритету

normal(2,20,3)

normal(2,20,3)

normal(2,20,3)

normal(2,20,3)

Листинг

VREMA TABLE M1,270,50,40

INITIAL X1,250 ;среднее время работы PK1

INITIAL X2,500 ;среднее время работы PK2

INITIAL X3,3 ;число каналов в устройстве KAN

BUF1 STORAGE 2 ;количество мест в очереди BUF1 равно 2

KAN STORAGE 3 ;количество каналов устройства KAN равно 3

GENERATE (GAMMA(1,0,50,4)) ;генерация транзактов 0-го приоритета

GATE SNF BUF1,OTKAZ1 ;если очередь не свободна, идем к OTKAZ1

ENTER BUF1 ;занимаем очередь BUF1

SEIZE PK1 ;занимаем устройство PK1

LEAVE BUF1 ;покидаем очередь BUF1

ADVANCE (NORMAL(1,X1,50)) ;работа устройства PK1

RELEASE PK1 ;покидаем устройство PK1

GATE SNF KAN,OTKAZ2 ;если устройство KAN не свободно, идем к OTKAZ2

GATE SV KAN,OTKAZ3 ;если устройство KAN заблокировано, идем к OTKAZ3

ENTER KAN ;занимаем в устройстве KAN 1 место

ADVANCE (NORMAL(1,150,25)) ;работа устройства KAN

LEAVE KAN ;покидаем устройство KAN

QUEUE BUF2 ;занимаем очередь BUF2

TRANSFER BOTH,PPK2,PPK3 ;пытаемся занять устройство PK2, если не

;удается, то пытаемся занять устройство

;PK3. Если и это не получается, то ждем

;освобождения одного из двух устройств, и

;занимаем устройство, которое

;освободилось первым.

GENERATE (NORMAL(1,250,50)),,,,1 ;генерация транзактов 1-го приоритета

GATE SNF BUF1,OTKAZ4 ;если очередь не свободна, идем к OTKAZ4

ENTER BUF1 ;занимаем очередь BUF1

PREEMPT PK1,PR,OTKAZ5,,RE ;занимаем устройство PK1, если там

;обслуживался транзакт 0-го приоритета,

;то этот транзакт отправляется к OTKAZ5

LEAVE BUF1 ;покидаем очередь BUF1

ADVANCE (NORMAL(1,X1,50)) ;работа устройства PK1

RETURN PK1 ;покидаем устройство PK1

TEST L S$KAN,(X3-1),OTKAZ6 ;если свободных каналов устройства KAN

;меньше 2, то идем к OTKAZ6

GATE SV KAN,OTKAZ7 ;если устройство KAN заблокировано, то

;идем к OTKAZ7

ENTER KAN,2 ;занимаем в устройстве KAN 2 место

ADVANCE (NORMAL(1,150,25)) ;работа устройства KAN

LEAVE KAN,2 ;покидаем устройство KAN

QUEUE BUF2 ;занимаем очередь BUF2

TRANSFER BOTH,PPK2,PPK3 ;пытаемся занять устройство PK2, если не

;удается, то пытаемся занять устройство

;PK3. Если и это не получается, то ждем

;освобождения одного из двух устройств,

;и занимаем устройство, которое

;освободилось первым.

PPK2 SEIZE PK2 ;занимаем устройство PK2

DEPART BUF2 ;покидаем очередь BUF2

ADVANCE (EXPONENTIAL(1,0,X2)) ;работа устройства PK2

RELEASE PK2 ;покидаем устройство PK1

TABULATE VREMA ;табулируем время

TEST L (N$RESH1+N$RESH2),499,KONEC ;если количество решенных задач

;равно 499, то идем к KONEC

RESH1 TERMINATE ;транзакт выводится из системы

PPK3 SEIZE PK3 ;занимаем устройство PK3

DEPART BUF2 ;покидаем очередь BUF2

ADVANCE 75,25 ;работа устройства PK3

RELEASE PK3 ;покидаем устройство PK1

TABULATE VREMA ;табулируем время

TEST L (N$RESH1+N$RESH2),499,KONEC ;если количество решенных задач

;равно 499, то идем к KONEC

RESH2 TERMINATE ;транзакт выводится из системы

KONEC SAVEVALUE VEROYT,V$VICH ;вычисляем вероятность отказа

TERMINATE 1

GENERATE 5000,1000 ;генерация транзактов блокировки

SUNAVAIL KAN ;блокируем устройство KAN

ADVANCE 50,10

SAVAIL KAN ;разблокируем устройство KAN

TERMINATE

OTKAZ1 TERMINATE ;отказы из-за занятости BUF1(транзакт 0-го приоритета)

OTKAZ2 TERMINATE ;отказы из-за занятости KAN(транзакт 0-го приоритета)

OTKAZ3 TERMINATE ;отказы из-за недоступности KAN(транзакт 0-го приоритета)

OTKAZ4 TERMINATE ;отказы из-за занятости BUF1(транзакт 1-го приоритета)

OTKAZ5 TERMINATE ;отказы транзактам 0-го приоритета в дообслуживании

OTKAZ6 TERMINATE ;отказы из-за занятости KAN(транзакт 1-го приоритета)

OTKAZ7 TERMINATE ;отказы из-за недоступности KAN(транзакт 1-го приоритета)

START 1