1.Задание
ЭВМ подключено четыре терминала, с которых осуществляется решение задач. По команде с терминала выполняют операции редактирования, трансляции, планирования и решения. Причем, если хоть один терминал выполняет планирование, остальные вынуждены простаивать из-за нехватки оперативной памяти. Если два терминала выдают требование на решение, то оставшиеся два простаивают, и если работают три терминала, выдающих задания на трансляцию, то оставшийся терминал блокируется. Интенсивности поступления задач различных типов равны. Задачи одного типа от одного терминала поступают через экспоненциально распределенные интервалы времени со средним значением 160 с. Выполнение любой операции длится 10 с. Смоделировать работу ЭВМ в течение 4 ч. Определить загрузку процессора, вероятности простоя терминалов и частоту одновременного выполнения трансляции с трех терминалов.
2. Структурная схема модели системы
Прежде чем начать моделирование системы необходимо определиться с тем, какие элементы входят в её состав. Согласно условию задания можно составить схему вычислительной системы для визуальной представления поставленной задачи:
Рис. 1. Структурная схема вычислительной системы в символике Q-схем
Опишем используемые блоки:
И – источник заданий (транзактов)(терминалы-1,2,3,4);
О – неограниченная очередь, в которой хранятся транзакты пока обрабатывающее устройство занято(очередь наЭВМ,очередь на терминалы);
К – обрабатывающее устройство – ЭВМ;
4. Листинг программы
Проанализировав структурную схему (Рис.1) составим программу в соответствии с синтаксисом языка GPSS\PC получим:
NAK_PRO STORAGE 4
PROST_1 VARIABLE (X10/X20)/4
PROST_2 VARIABLE (X11/X21)/4
PROST_3 VARIABLE (X12/X22)/4
PROST_4 VARIABLE (X13/X23)/4
TRNTION VARIABLE (X$TRNTION/2)/14400
FREGUEN TABLE AC1,800,800,18
EXPON FUNCTION RN1,C24
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
GENERATE 160,FN$EXPON ;ПЕРВЫЙ ТЕРМИНАЛ
ASSIGN IDEN,10
ASSIGN ETUP,1
ASSIGN CONT,4
ASSIGN SOL,20
ASSIGN KEY,33
TRANSFER ,EDIT
GENERATE 160,FN$EXPON ;ВТОРОЙ ТЕРМИНАЛ
ASSIGN IDEN,11
ASSIGN ETUP,1
ASSIGN CONT,4
ASSIGN SOL,21
ASSIGN KEY,44
TRANSFER ,EDIT
GENERATE 160,FN$EXPON ;ТРЕТИЙ ТЕРМИНАЛ
ASSIGN IDEN,12
ASSIGN ETUP,1
ASSIGN CONT,4
ASSIGN SOL,22
ASSIGN KEY,55
TRANSFER ,EDIT
GENERATE 160,FN$EXPON ;ЧЕТВЁРТЫЙ ТЕРМИНАЛ
ASSIGN IDEN,13
ASSIGN ETUP,1
ASSIGN CONT,4
ASSIGN KEY,66
ASSIGN SOL,23
EDIT GATE LR P$KEY ;РЕДАКТИРОВАНИЕ
LOGIC S P$KEY
GATE LS PROPUSK,DEV
SAVEVALUE P$IDEN+,1
GATE LR PROPUSK
TRANSFER ,DEV
OTHER GATE LR PROPUSK,PROST ;ТРАНСЛЯЦИЯ,РЕШЕНИЕ,ПЛАНИРОВАНИЕ
SAVEVALUE P$ETUP+,1
SAVEVALUE ZVENO,X*$ETUP
TEST E X$ZVENO,P$CONT,DEV
SAVEVALUE CUR_OPER,P$ETUP
ENTER NAK_PRO
PREEMPT EBM
FUNAVAIL EBM,CO,,,RE,PROSTOY,RE,PROSTOY
LOGIC S PROPUSK
ADVANCE 10
LOGIC R PROPUSK
FAVAIL EBM
RETURN EBM
TRANSFER ,PROV
PROSTOY TEST NE X$CUR_OPER,P$ETUP,PROSTOY1 ;БЛОКИРОВАНИЕ ТЕРМИНАЛОВ
LEAVE NAK_PRO
SAVEVALUE P$IDEN+,1
GATE LR PROPUSK
TRANSFER ,DEV
PROST GATE LR PROPUSK
TRANSFER ,OTHER
PROSTOY1 TEST E X$CUR_OPER,3,DEV1 ;ПОДСЧЁТ ЧИСЛА ОДНОВРЕМЕННЫХ ТРАНСЛЯЦИЙ
SAVEVALUE TRNTION+,1
TABULATE FREGUEN
TRANSFER ,DEV1
COMPLT SAVEVALUE P$SOL+,1
LOGIC R P$KEY
TERMINATE
DEV ENTER NAK_PRO ;ФУНКЦИОНИРОВАНИЕ ЭВМ
DEV1 SEIZE EBM
ADVANCE 10
RELEASE EBM
PROV SAVEVALUE P$ETUP-,1
ASSIGN ETUP+,1
ASSIGN CONT-,1
LEAVE NAK_PRO
TEST NE P$ETUP,5,COMPLT
TRANSFER ,OTHER
GENERATE 1,,14400
SAVEVALUE PROST_1,V$PROST_1
SAVEVALUE PROST_2,V$PROST_2
SAVEVALUE PROST_3,V$PROST_3
SAVEVALUE PROST_4,V$PROST_4
SAVEVALUE TRNTION,V$TRNTION
TERMINATE 1
START 1
CLEAR
START 1
CLEAR
START 1
CLEAR
START 1
CLEAR
START 1