
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[35.172.111.47] |
![]() |
|
Страницы: (54) « Первая ... 48 49 [50] 51 52 ... Последняя » ( Перейти к последнему сообщению ) |
Сообщ.
#736
,
|
|
|
Или может быть кто-нибудь подскажет как реализовать несколько источников транзактов???
|
Сообщ.
#737
,
|
|
|
Народ кто нито сможет откоментить прогу? блин очень надо завтра сдавать надо(
Вот прога : Generate 30,25 queue CPU seize display advance 50,30 release display seize CP advance 100,50 release CP depart CPU advance 30,10 advance 60,20 savevalue 1+,1 terminate Generate 70,5,,,1 queue CPU seize display advance 50,30 release display preempt CP,PR advance 100,50 return CP depart CPU advance 30,10 advance 60,20 savevalue 2+,1 terminate Generate 60,2,,100,2 queue CPU seize display advance 50,30 release display preempt CP,PR advance 100,50 return CP depart CPU advance 30,10 advance 60,20 savevalue 3+,1 terminate generate 12000 TERMINATE 1 start 1 Задание : В специализированной вычислительной системе периодически выполняется три вида заданий, которые характеризуются уровнями приоритета: нулевым, первым и вторым. Каждый новый запуск задания оператор производит при помощи дисплея, работая на нем 50+-30 секунд. После запуска задания оно требует для своего выполнения 100+-50 секунд времени работы процессора, причем задания более высокого приоритета прерывают выполнение задач более низкого приоритета. Результаты обработки задания выводятся на печать без прерываний в течение 30+-10 секунд, после чего производится их анализ в течение 60+-20 секунд, и задание запускается снова. Можно считать, что при работе дисплея и при выводе результатов на печать процессор не используется. Смоделировать процесс работы системы при условии, что задание второго уровня приоритета выполняется 100 раз. Подсчитать число циклов выполнения остальных заданий и определить коэффициенты загрузки технических средств системы. |
Сообщ.
#738
,
|
|
|
Откуда Вы взяли цифры в блоках generate
Generate 30,25 - откуда взяли 30 и 25 Generate 70,5,,,1 - откуда 70 и 5 Generate 60,2,,100,2 - откуда 60 и 2 |
Сообщ.
#739
,
|
|
|
Допускаю что ошибки есть... код взят с GPSS .. ребя очень надо откоментить, послде завтра уже экзамен, завтра надо сдать курсач
|
Сообщ.
#740
,
|
|
|
отписался на почту
|
Сообщ.
#741
,
|
|
|
Здавствуйте есть задача, нужна помощь.
ЭВМ обслуживает три терминала по круговому циклическому алгоритму, предоставляя каждому терминалу 30 с. Если в течение этого времени задание обрабатывается, то обслуживание завершается; если нет, то остаток задачи становится в специальную очередь, которая использует свободные циклы терминалов, т. е. задача обслуживается, если на каком-либо тер-минале нет заявок. Заявки на терминалы поступают через 30±5 с и имеют длину 300±50 знаков. Скорость обработки заданий ЭВМ равна 10 знаков/с. Смоделировать 5 ч работы ЭВМ. Определить загрузку ЭВМ, параметры очереди неоконченных заданий. Определить величину цикла терминала, при которой все заявки будут обслужены без специальной очереди. Вот код но я не понимаю где тут длин знаков и скорость обработки ЭВМ указаны подскажи пожалуйста. ![]() ![]() generate 30,5 ;terminal 1 link 1,fifo generate 30,5 ;terminal 2 link 2,fifo generate 30,5 ;terminal 3 link 3,fifo met1 queue och1 ;ставим заявку в очередь seize EOM ;занимаем устройство ЕОМ depart och1 ;выводи заявку из очереди assign 1,(25+10#rn1/1000) ;задаем время обработки как первый параметр test le p1,30,met2 ;проверяем время обработки, если >30 идем в met2, если <=30 входим в блок test advance p1 ;задержка транзакта на время р1 release EOM ;освобождение устройства ЕОМ terminate 1 ;удаление транзакта met2 advance 30 ;задержка транзакта на 30с assign 1-,30 ;вычитание из р1 30с release EOM ;освобождение устройства ЕОМ link och,fifo ;помещаем транзакт в список пользователя och generate ,,,1 assign 1,0 met assign 1,((p1@3)+1) test g ch*1,0,met4 ;проверка длины списка пользователя, если >0 входим в блок test, если <=0 переходим на met4 unlink p1,met1,1 ;вывод транзакта из списка пользователя transfer ,met5 met4 test g CH$och,0,met5 ;проверка длины списка och, если >0 входим в блок test, если <=0 переходим на met5 unlink och,met1,1 met5 advance 1 transfer ,met GENERATE 18000 ;время моделирования 5 часов TERMINATE 1 START 1 |
Сообщ.
#742
,
|
|
|
Всем привет, вообщем такая проблема:
С интервалом времени 5 ± 2 мин детали поштучно поступают к станку на обработку и до начала обработки хранятся на рабочем столе, который вмещает 3 детали. Если свободных мест на столе нет, вновь поступающие детали укладываются в тележку, которая вмещает 5 деталей. Если тележка заполняется до нормы, ее увозят к другим станкам, а на ее место через 8 ± 3 мин ставят порожнюю тележку. Если во время отсутствия тележки поступает очередная деталь и не находит на столе места, она переправляется к другому станку. Рабочий берет детали на обработку в первую очередь из тележки, а если она пуста — со стола. Обработка деталей производится за 10 ± 5 мин. Смоделировать процесс обработки на станке 100 деталей. Подсчитать число деталей поштучно переправленных к другому станку. Показал преподу этот код, говорит тут минимум 2 generat'a должно быть, но как так не понимаю где, или понимаю но при построение схемы незнаю как её строить с ними. [Spoiler] generate 300,120 test L q$table_q,3,cart queue table_q assign 5,1 transfer ,meet cart test L q$cart_q,5,clear_cart queue cart_q priority 5 assign 5,2 transfer ,meet clear_cart gate LR 1,other logic s 1 advance 480,180 depart cart_q,q$cart_q logic r 1 terminate 0 meet seize proc test E p5,2,dep_1 test G q$cart_q,1,adv depart cart_q adv advance 600,300 release proc terminate 1 dep_1 depart table_q transfer ,adv other savevalue other_advanced+,1 terminate 0 start 100 |
Сообщ.
#743
,
|
|
|
kant1288 Здаров,можеш скинуть свой курсач потвоему варианту,а то у меня оч похож
|
Сообщ.
#744
,
|
|
|
Всем доброго времени суток. Прошу вашей помощи в следующей задаче (Нет, не очередной ловец халявы: я уже попытался написать код, но мой преподаватель говорит, что не правильно )
Прошу помощи в этом нелегком деле :3 Постановка задачи: Рассмотрим систему массового обслуживания с заданным числом устройств обслуживания п= 5, действующих параллельно и использующих одну общую очередь. Интервалы времени между поступлениями требований экспоненциально распределены со средним значением 5 (все интервалы времени в этой задаче измеряются в минутах). Требование, поступившее, когда в системе есть свободное устройство, немедленно поступает на обслуживание, Требование, поступившее, когда все устройства заняты, становится в очередь. Когда тре-бование (первый раз) попадает на обслуживание, время его обслуживания равномерно распределено между а = 2 и b = 2,8. Но по завершении первого обслуживания может оказаться, что требование не удовлетворено (вероят¬ность возникновения такой ситуации p = 0,2). Если обслуживание было удов-летворительным, требование покидает систему, в противном случае обслу-живание будет продолжаться. Удовлетворено ли требование обслуживанием, следует определять по его завершении. Если требование не удовлетворено завершившимся обслуживанием и в очереди больше нет других требований, начинается повторное обслуживание этого требования на том же устройстве. Если же по завершении неудовлетворительного обслуживания в очереди еще имеются требования, неудовлетворенное требование должно присоединиться к очереди. В исходном состоянии в системе нет требований и устройства являются свободными. Моделирование должно выполняться в течение 480 мин. Вычислите среднее и максимальное общее время в системе (включая задержки в очереди и время обслуживания требования) и число удовлетворенных об¬служиванием требований, покинувших систему в процессе моделирования. Кроме того, вычислите среднюю и максимальную длину очереди, среднее по времени и максимальное число занятых устройств обслуживания. Считаете ли вы работу системы рациональной? Если нет, то предложите пути улучшения ее эффективности. Обоснуйте свой ответ. |
Сообщ.
#745
,
|
|
|
ETQW, вопервых.
нет нужды специально показывать, как устройство курсирует по очереди. вот такой код вполне соответствует условию Цитата Рассмотрим систему массового обслуживания с заданным числом устройств обслуживания п= 5, действующих параллельно и использующих одну общую очередь. Интервалы времени между поступлениями требований экспоненциально распределены со средним значением 5 (все интервалы времени в этой задаче измеряются в минутах). Требование, поступившее, когда в системе есть свободное устройство, немедленно поступает на обслуживание, Требование, поступившее, когда все устройства заняты, становится в очередь. ![]() ![]() Ustr storage 5 ;Задаем 5-устройств действующих параллельно generate (Exponential(1,0,5)) ;поступление требований экспонециально в среднем 5 мин ustr1 queue Ustr enter Ustr ;вход в устройство depart Ustr ... Добавлено ETQW, не хочу сказать, что этот код не верен ![]() ![]() advance 2.4,0.4 но настоятельно советую воздержаться от дробных значений времени. Исторически жпсс всегда имел дискретное время. советую придежриваться этого правила и далее. т.е. моделлирвоать в секундах. Добавлено итого. задача должна выглядеть так ![]() ![]() объявление емкости мку генерация транзактов стать в глобальную очередь, для получения общей статистики пребывания транзактов в системе (это избавляет нас от кучи ненужных счетчиков) поступление в очередь поступление в мку задержка на время выполнения выход из мку с определенной вероятностью отправляем обратно в очередь покинуть глобальную очередь транзакт покидает систему generate 480 ;генерация в течение 480 мин terminate 1 ;уменьшение счетчика конца моделирования на 1 start 1 ;задание значения счетчика моделирования равным 1 вам осталось только заменить мой русский текст на жпсс операторы построчно и нести к преподу. удачи. |
Сообщ.
#746
,
|
|
|
Здравствуйте.
Проблема такая. Вот код программы. GENERATE 10,5 QUEUE myq TRANSFER 0.5,MACHINE1,MACHINE2 DEPART myq MACHINE1 SEIZE mach1 ADVANCE 15,5 RELEASE mach1 TRANSFER ,TST MACHINE2 SEIZE mach2 ASSIGN 1,1 ADVANCE 3,2 RELEASE mach2 TST TEST E P1,1,TABUL MACHINE3 SEIZE mach3 ADVANCE 3,2 RELEASE mach3 TABUL TERMINATE GENERATE 100000 TERMINATE 1 START 1 Выдает ошибку в строке TEST E P1,1,TABUL ("reference to a non-existent parameter"). Значение параметру транзакта P1 задается в строке ASSIGN 1,1. Что сделано неправильно? |
Сообщ.
#747
,
|
|
|
selflessslaeyr, вы забыли про транзакты, которые пришли с метки MACHINE1. у них первый параметр не задан.
|
Сообщ.
#748
,
|
|
|
Помогите разобраться в задаче: есть три билетные кассы (работают параллельно). К ним приходят люди по эксп. закону со средним 4. Обслуживание каждой кассы 3.333 в среднем по тому же закону. Проблема в том, что код (см. ниже) работает как то некорректно. Надо чтобы люди приходили и занимали свободную кассу ну или ту в которой очередь меньше (если возможно)
SIMULATE GENERATE (EXPONENTIAL(1,0,4)) TRANSFER BOTH,XX,MM MM TRANSFER BOTH,YY,ZZ XX QUEUE OCHER1 SEIZE KASSA1 DEPART OCHER1 ADVANCE (EXPONENTIAL(1,0,10/3)) RELEASE KASSA1 TRANSFER ,OUT YY QUEUE OCHER2 SEIZE KASSA2 DEPART OCHER2 ADVANCE (EXPONENTIAL(1,0,10/3)) RELEASE KASSA2 TRANSFER ,OUT ZZ QUEUE OCHER3 SEIZE KASSA3 DEPART OCHER3 ADVANCE (EXPONENTIAL(1,0,10/3)) RELEASE KASSA3 TRANSFER ,OUT OUT TERMINATE GENERATE 2400 TERMINATE 1 |
Сообщ.
#749
,
|
|
|
Цитата Lazio @ TRANSFER BOTH,XX,MM MM TRANSFER BOTH,YY,ZZ неверно построена выборка. я бы написал так Цитата TEST E 0,((Q$OCHER3<Q$OCHER2)+(Q$OCHER3<Q$OCHER1)),ZZ TEST L Q$OCHER1,Q$OCHER2,YY ну или так Цитата TEST L Q$OCHER1,Q$OCHER2,MET1 TEST L Q$OCHER1,Q$OCHER3,ZZ TRANSFER ,XX MET1 TEST L Q$OCHER2,Q$OCHER3,ZZ TRANSFER ,YY Но правильней всего будет использовать оператор SELECT например вот так Цитата OCHER1 EQU 1 OCHER2 EQU 2 OCHER3 EQU 3 GENERATE (EXPONENTIAL(1,0,4)) ASSIGN 1,XX ASSIGN 2,YY ASSIGN 3,ZZ SELECT MIN NUM,1,3,,Q TRANSFER ,P*NUM XX QUEUE OCHER1 SEIZE KASSA1 DEPART OCHER1 ADVANCE (EXPONENTIAL(1,0,10/3)) RELEASE KASSA1 TRANSFER ,OUT YY QUEUE OCHER2 SEIZE KASSA2 DEPART OCHER2 ADVANCE (EXPONENTIAL(1,0,10/3)) RELEASE KASSA2 TRANSFER ,OUT ZZ QUEUE OCHER3 SEIZE KASSA3 DEPART OCHER3 ADVANCE (EXPONENTIAL(1,0,10/3)) RELEASE KASSA3 TRANSFER ,OUT OUT TERMINATE GENERATE 2400 TERMINATE 1 Добавлено или даже вот так Цитата GENERATE (EXPONENTIAL(1,0,4)) SELECT MIN 1,1,3,,Q QUEUE P1 SEIZE P1 DEPART P1 ADVANCE (EXPONENTIAL(1,0,10/3)) RELEASE P1 OUT TERMINATE GENERATE 2400 TERMINATE 1 start 1 Добавлено а вот вариант на отлично ) Цитата P_COUNT EQU 3 GENERATE (EXPONENTIAL(1,0,4)) SELECT MIN 1,1,P_COUNT,,Q ASSIGN 2,RN1 MET1 ASSIGN 2,(P2@P_COUNT) ASSIGN 2,(P2+1) TEST E Q*2,Q*1,MET1 QUEUE P2 SEIZE P2 DEPART P2 ADVANCE (EXPONENTIAL(1,0,10/3)) RELEASE P2 OUT TERMINATE GENERATE 2400 TERMINATE 1 start 1 |
Сообщ.
#750
,
|
|
|
Нужна помощь в решении задачи, отчет, код, ну и скрины результатов моделирования, оплату гарантирую, возможно предоплата! 365574850 моя аська или scype n1ver1986
|