Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Блоки описания устройств

В) Трудно учесть неоднородность потока заявок (приоритеты, различия длительностей обслуживания) | Характеристики стохастических сетей | Структура многопроцессорной ВС с общей памятью и ее характеристики | Сущность имитационного моделирования | Программные средства моделирования | Общие сведения о системе моделирования | Переменные и выражения | Арифметические переменные | Блок GENERATE | Блок TERMINATE |


Читайте также:
  1. Административно-территориальное устройство
  2. АДСОРБЕРЫ С ПСЕВДООЖИЖЕННЫМ СЛОЕМ АДСОРБЕНТА. НАЗНАЧЕНИЕ, УСТРОЙСТВО И ПРИНЦИП ДЕЙСТВИЯ.
  3. Анализ данных на основе "плотного" описания — концептуализация
  4. БАРАБАННЫЕ СУШИЛКИ. НАЗНАЧЕНИЕ, УСТРОЙСТВО И ПРИНЦИП ДЕЙСТВИЯ.
  5. Блоки для обработки сообщений, принадлежащих одному семейству
  6. Блоки описания многоканальных устройств

Устройства используются при моделировании систем для имитации работы оборудования единичной емкости, например, процессора, каналов передачи данных, устройств ввода-вывода, линии связи и т.д. Такое оборудование в любой момент времени может обрабатывать только одно сообщение.

Блок SEIZE

Блок SEIZE имеет следующий формат:

SEIZE <A>

Операнд А может представлять собой имя, положительное целое число, СЧА или СЧА*<параметр>.

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

В поле А задается номер занимаемого устройства.

Операции блока SEIZE. Сообщение не может занять устройство, которое уже было занято и (или) прервано другим сообщением. При попытке сообщения войти в блок SEIZE всегда проверяется, занято ли устройство. Если устройство свободно, его можно занимать. Сообщение, занявшее устройство, затем пытается перейти к следующему по номеру блоку. Устройство остается занятым до тех пор, пока занимающее его сообщение не войдет в соответствующий блок RELEASE. Прежде чем освободить устройство, сообщение может пройти через неограниченное число блоков.

Когда устройство занято, сообщение задерживается на входе в блок SEIZE. В этом случае оно помещается в список задержки, связанный с этим устройством. Сообщения в этом списке задержки процедурой просмотра GPSS/PC не обрабатываются. Сообщение может занять произвольное число устройств и может генерировать прерывание произвольного числа устройств, занятых другими сообщениями. Сообщение, которое заняло устройство, может быть прервано в этом устройстве другим сообщением. Эти операции рассмотрены в данном разделе при описании блока PREEMPT.

Флаг изменения состояния и активизации сообщений, стоящих в списке задержки GATE U. Если сформирован список задержки GATE U (список сообщений, ожидающих занятия устройства) к моменту входа сообщения в блок SEIZE, сообщения из этого списка активизируются и могут быть обработаны процедурой просмотра GPSS/PC. Каждый раз при входе сообщения в блок SEIZE и занятии им устройства устанавливается флаг изменения состояния. Это приводит к тому, что после того как прекращается продвижение сообщения, вошедшего в блок SEIZE, процедура просмотра возвращается к началу списка текущих событий. Таким образом, гарантируется обработка всех активных сообщений в момент их выхода из списка задержки GATE U.

Блок RELEASE

Блок RELEASE имеет следующий формат:

RELEASE <A>

Блок RELEASE предназначен для освобождения устройства тем сообщением, которым оно было занято.

Если сообщение обрабатывается устройством, то с помощью блока RELEASE оно освобождает устройство и переходит к следующему блоку. Если сообщение обрабатывалось устройством, но не было прервано, то блоком RELEASE сообщение удаляется из списка прерывания устройства и пытается вновь занять устройство.

Операция освобождения выполняется немедленно после входа сообщения в блок RELEASE. В поле А задается номер освобождаемого устройства. Операнд А может представлять собой имя, положительное целое число, СЧА или СЧА*<параметр>.

Флаг изменения состояния и активизация сообщений, стоящих в списке задержки SEIZE-GATE NU. Если при входе сообщения в блок RELEASE уже сформирован список задержки SEIZE - GATE NU (список сообщений, задержанных блоками SEIZE или GATE NU и ожидающих освобождения устройства), то все сообщения из этого списка задержки активизируются. Каждый раз, когда сообщение входит в блок RELEASE, устанавливается флаг изменения состояния. Следовательно, как только прекратится продвижение сообщения, вошедшего в блок RELEASE, процедура просмотра возвратится к началу списка текущих событий. Таким образом гарантируется обработка всех активных сообщений в момент их выхода из списка задержки SEIZE-GATE NU.

Блок PREEMPT

Блок PREEMPT имеет следующий формат:

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

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

Поле А определяет номер или имя устройства, на котором генерируется прерывание. Операнд может представлять собой имя, положительное целое число, СЧА или СЧА*<параметр>.

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

Поле С задает номер или имя блока, куда должно попытаться войти прерванное сообщение в этот же момент условного времени. Прерванное сообщение теряет управление устройством, но претендует на право его использования, если только не задан аргумент поля Е.

В случае приоритетного режима работы желательно задавать поле С, если прерывающее сообщение имеет более высокий приоритет, чем прерванное сообщение. Операнд может представлять собой имя, положительное целое число, СЧА или СЧА*<параметр>.

Поле D задает номер параметра, связанного с прерванным сообщением. Если прерываемое сообщение в момент прерывания находится в списке будущих событий, тогда остаток времени нахождения в этом списке записывается в заданный параметр. Если такой параметр не существует, то он создается. При приоритетном режиме работы желательно задавать поле D только в том случае, если прерывающее сообщение имеет более высокий приоритет, чем прерванное сообщение. Операнд может представлять собой имя, положительное целое число, СЧА или СЧА*<параметр>.

Поле Е задает один из следующих режимов:

- режим удаления (RE). Задание этого режима означает, что прерванное сообщение более не претендует на пользование устройством. Прерванное сообщение пытается войти в блок, заданный полем С (если в поле Е стоит RE, то должно быть указано и поле С). При приоритетном режиме работы режим RE используется только в том случае, если приоритет прерывающего сообщения больше приоритета прерываемого сообщения. При использовании RE прерванное сообщение не должно входить в блоки RELEASE и RETURN, связанные с прерванным сообщением;

- если режим RE не задан, т.е. поле Е пусто, то прерванное сообщение по возвращении в список текущих событий будет вновь пытаться занять устройство.

Прерываемое сообщение может находиться в списке будущих событий (FEC). Если вы хотите сделать это, то надо использовать операнд D.

Прерванное сообщение борется за устройство, даже если оно перемещено операндом С (если RE не используется в операнде Е). Если прерванное сообщение все еще борется за устройство, то попытка сообщения войти в блок TERMINATE приводит к ошибке. Такое сообщение перед входом в блок TERMINATE должно войти в блок RELEASE или блок RETURN.

Сообщение может быть прервано на любом количестве устройств и продолжать циркулировать в модели при выполнении следующих двух положений:

- сообщение вошло в блок ADVANCE с положительным временем аргументов;

- сообщению не разрешается покинуть блоки ASSEMBLE, GATHER или MATCH до тех пор, пока в них не войдет заданное число сообщений из того же семейства.

Устройство может быть захвачено любое количество раз, но не два раза подряд одним сообщением.

Сообщение не может войти в блок, если в приоритетном режиме устройство уже захвачено сообщением с приоритетом, равным или большим, чем приоритет активного сообщения. Активное сообщение помещается в соответствии с приоритетом в список задержки устройства.

Сообщение не может войти в блок, если устройство находится в недоступном состоянии. Такие сообщения помещаются в список задержки устройства в соответствии с приоритетом, а внутри приоритета по правилу "первым вошел, первым вышел".

При использовании полей C, D, E следует учитывать следующие положения:

- при задании полей D и (или) E, поле С также должно быть задано;

- если приоритетный режим не задан (PR в поле B), то поля C, D и (или) E игнорируются.

Однако возможен вариант, когда для прерванного сообщения выбирается альтернативный выход, причем приоритет сообщения не учитывается. Этот случай возникает тогда, когда задано поле С (а иногда и поля D и (или) E), но в поле В не задан приоритетный режим. Такое использование полей приводит к тому, что занимающее сообщение прерывается и направляется по альтернативному пути. В данном случае многоуровневые прерывания не происходят.

Блок RETURN

Блок RETURN имеет следующий формат:

RETURN <A>

Блок RETURN предназначен для освобождения ранее захваченного устройства.

В поле А задается номер устройства, с которого снимается прерывание. Прерывание может быть снято в блоке RETURN только тем сообщением, которым оно было генерировано.

Операнд А может быть именем, положительным целым, СЧА или СЧА*<параметр>.

Недоступность устройства. Часто возникают ситуации, когда в течение определенного времени оборудование становится недоступным. Происходит это либо из-за механических неполадок, отсутствия обслуживающего персонала или других причин. Такую ситуацию можно смоделировать пропустив управляющее сообщение через блок PREEMPT таким образом, что оно полностью займет многоканальное устройство или перехватит устройство. Недостаток этого способа для моделирования состояния недоступности оборудования заключается в том, что искажается статистика использования оборудования в течение всего периода моделирования. Блоки, реализующие доступность и недоступность оборудования, предусмотрены, главным образом, для правильного отображения состояния недоступности в статистике использования этого оборудования.

Недоступность устройства, которая моделируется с помощью блока FUNAVAIL, предупреждает (с некоторыми исключениями) занятие или прерывание устройства другими сообщениями. Предусмотрены специальные режимы работы блока FUNAVAIL, задание которых приводит к следующим действиям над сообщениями, связанными с недоступным устройством:

- управляющему сообщению (сообщению, которое занимало и генерировало прерывание на устройстве в тот момент, когда оно стало недоступным) может быть разрешено продолжение использования этого устройства;

- прерванные сообщения (те сообщения, которые были прерваны другими сообщениями при использовании этого устройства) могут продолжать претендовать на устройство в течение периода недоступности; могут быть сняты из рассмотрения на использование устройства и направлены к вспомогательному блоку или могут претендовать на устройство только по окончании периода недоступности;

- над задержанными сообщениями (теми сообщениями, которые ожидали устройство для его занятия или прерывания в момент, когда оно стало недоступным) совершаются те же действия, что и над прерванными сообщениями.

Блок FAVAIL

Блок FAVAIL имеет следующий формат:

FAVAIL <A>

Блок FAVAIL делает доступными заданные устройства после периода недоступности. Этот блок игнорируется, если заданное устройство уже доступно.

В поле А задается номер устройства, которое должно стать доступным. Операнд А может представлять собой имя, положительное целое число, СЧА или СЧА*<параметр>. Использование этого блока приводит к изменению состояния оборудования. Активизируются все сообщения, которые находятся в списке задержки в ожидании, когда любое из устройств, заданных в поле А, станет доступным. Если эти сообщения находятся в блоке GATE FV, они могут попытаться войти в следующий блок. Если сообщения находятся в блоке SEIZE или PREEMPT, они могут попытаться занять устройство.

Кроме того, блок FAVAIL отменяет все режимы (относительно использования устройства), заданные предыдущим блоком FANAVAIL.

Например:

FAVAIL 4; делает доступным для использования устройство 4.


Дата добавления: 2015-11-16; просмотров: 70 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Блок PRIORITY| Блок FUNAVAIL

mybiblioteka.su - 2015-2024 год. (0.008 сек.)