Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

PREEMPT Line1

Поля C, D и E определяют поведение транзактов, обслуживание которых было прервано. Поле C указывает имя блока, в который будет направлен прерванный транзакт. В поле D может быть указан номер или имя параметра прерванного транзакта, в который записывается время, оставшееся этому транзакту до завершения обслуживания на устройстве. При отсутствии операнда в поле E прерванный транзакт сохраняет право на автоматическое восстановление на устройстве по окончании захвата. Если же в поле E указан операнд RE, то транзакт теряет такое право.

Для моделирования дисциплины с абсолютным приоритетом, когда поступление заявки, имеющей более высокий приоритет, приводит к прерыванию обслуживания низкоприоритетной заявки и захвату прибора высокоприоритетной заявкой, в GPSS World имеются специальные блоки.

Моделирование захвата прибора

Start 1

Terminate 1

Mark ctime

Tabulate ctime

Mark ctime

Assign node,3

Generate,,,4

1,1

Node3 function RN1,d1

1,1

Node2 function RN1,d1

Node1 function RN1,d2

1,450/2,750/3,120000

Stor3 storage 4

Stor2 storage 1

Stor1 storage 1

Node3 equ 3

Node2 equ 2

Node1 equ 1

Stor3 equ 3

Stor2 equ 2

Stor1 equ 1

Модель СеМО замкнутой с косвенной адресацией

Terminate 1

Tabulate rtime

Mark rtime

Assign node,1

Generate (Exponential(1,0,tarr))

1,1

Node3 function rn1,d1

1,1

Node2 function rn1,d1

0.1,2/0.4,3/1,0

Node1 function rn1,d3

1,5000/2,6000/3,5000

Stor3 storage 2

Stor2 storage 1

Stor1 storage 1

Tarr equ 10000

Node3 equ 3

Node2 equ 2

Node1 equ 1

Stor3 equ 3

Stor2 equ 2

*

*

tserv function p$node,l3

*

rtime table mp$rtime,20000,10000,11

*

met1 queue p$node

enter p$node

depart p$node

advance fn$tserv,exponential(1,0,1))

leave p$node

assign node,fn*node

test e p$node,0,met1

 

tserv function p$node,l3

.92,2/1,3

ctime table mp$ctime,20000,20000,12

met1 queue p$node

enter p$node

depart p$node

advance fn$tserv,(Exponential(1,0,1))

leave p$node

assign node,fn*node

test e p$node,3,met1

test e tc$ctime,1000,met1

 

Ранее были рассмотрены средства GPSS World для моделирования дисциплин с относительным приоритетом. При этом если прибор занят, а на его вход поступает транзакт с более высоким приоритетом, чем у обслуживаемого транзакта, обслуживание продолжается. Вновь поступивший транзакт ставится в очередь последним в своем приоритетном классе.

Для моделирования захвата (прерывания) одноканального устройства вместо блоков SEIZE и RELEASE используются соответственно блоки PREEMPT (захватить) и RETURN (вернуть). Блок PREEMPT имеет следующий формат:

PREEMPT A,[B],[C],[D],[E]

В поле A указывается имя или номер устройства, подлежащего захвату. В поле B кодируется условие захвата. Если это поле пусто (режим прерывания), то захват возникает, если обслуживаемый транзакт сам не является захватчиком. Потенциальный захватчик – активный транзакт – не допускается в блок PREEMPT, если прибором уже обслуживается транзакт-захватчик. Это значит, что в данном режиме в каждый момент времени на одном приборе может быть прервано обслуживание только одного транзакта.

Если же в поле B записан операнд PR (приоритетный режим), то захват возникает, если приоритет транзакта-захватчика выше, чем приоритет обслуживаемого транзакта. При этом обслуживаемый транзакт может быть как обычным транзактом, так и транзактом, осуществившем захват прибора ранее. Таким образом, в приоритетном режиме прибор может быть захвачен любым числом транзактов.

Прерванные транзакты помещаются в цепь (список) прерываний, связанную с данным прибором, при этом располагаются они там в порядке “первым пришел – последним уходит”. Активный же транзакт занимает прибор.

Транзакт, захвативший прибор, освобождает его при входе в блок RETURN. Попытка какого-то другого транзакта освободить прибор воспринимается интерпретатором как ошибка.

Блок RETURN имеет единственный операнд A, содержащий имя или номер устройства, подлежащего освобождению от захвата.

Блоки PREEMPT и RETURN могут быть использованы для моделирования СМО с абсолютными приоритетами. В простейших случаях, при одном уровне захвата, в блоке PREEMPT используется единственный операнд A. При этом, прерванный транзакт переводится GPSSW из списка будущих событий в так называемый список прерываний устройства, а по окончании захвата устройства возвращается в список будущих событий с предварительно вычисленным временем занятия устройства для продолжения обслуживания.

Рассмотрим примеры использования блока PREEMPT:

(транзакт, вошедший в этот блок, приобретает право на использование прибора Line1, если прибор не захвачен ранее другим транзактом).

<== предыдущая лекция | следующая лекция ==>
Stor1 equ 1 | Булевские переменные. Команда BVARIABLE
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 277; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.