русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Устройства


Дата добавления: 2013-12-23; просмотров: 1195; Нарушение авторских прав


Списки

Логика работы моделирующей системы обеспечивается списками. Списки представляют собой структуры данных, в которых размещается полная информация о транзактах.

Список будущих событий (FEC) содержит транзакты, которые смогут начать движение в модели в будущие моменты времени. Это те транзакты, для которых моменты начала движения определены в блоках GENERATE и ADVANCE.

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

В список прерываний помещаются транзакты, обслуживание которых прервано блоком PREEMPT. После снятия прерывания в блоке RETURN транзакты вновь возвращаются в список будущих событий. На рис. 1 представлена структура элемента списка GPSS.

Номер транзакта Приоритет Время помещения в список Группа Номер текущего блока Номер следующего блока
XN PRI BDT ASSEM CURRENT NEXT

Рис 1. Структура списка GPSS

В список синхронизации помещаются транзакты, ожидающие объединения с другими транзактами в блоках GATHER и ASSEMBLE или находящиеся в блоках MATCH. После выполнения условий синхронизации транзакты возвращаются в список текущих событий.

Кроме рассмотренных списков, обработка которых происходит без участия программиста, в GPSS существуют списки пользователя, управление которыми осуществляется с помощью блоков LINK и UNLINK. Списки пользователя имеют СЧА, к которым можно обращаться внутри модели:

· CHj - текущее число транзактов в списке j;

· CAj - среднее число транзактов в списке j;

· CMj - максимальное число транзактов в списке j;

· CCj - общее число входов транзактов в список j;



· CTj - среднее время пребывания транзакта в списке j.

Процедура просмотра списка текущих событий:

Процесс движения транзактов в модели сопровождается просмотром содержимого списков, внесением в них изменений, а также перемещением транзактов из одного списка в другой.

Транзакты, находящиеся в списке текущих событий, расположены в порядке убывания приоритетов. Когда транзакт вводится в список текущих событий, он становится последним среди транзактов, имеющих тот же приоритет. Процедура просмотра списка текущих событий выполняет три основные действия:

1. Коррекция таймера. При этом момент времени устанавливается равным наименьшему времени выхода из блока для транзактов, находящихся в списке будущих событий. Все транзакты, имеющие такое время выхода, переводятся из списка будущих событий в список текущих событий;

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

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

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

Захват и освобождение устройства моделируются соответственно блоками SEIZE и RELEASE. Для проверки состояния устройств используют GATE. Прерывание моделирует блок PREEMPT, снятие прерывания - блок RETURN.

С устройствами связаны следующие СЧА:

· Fj - состояние устройства с номером j: 0 - если устройство свободно, и 1 - если устройство занято;

· FRj - коэффициент использования устройства j;

· FCj - число входов в устройство j;

· FTj - среднее время использования устройства j одним транзактом.

Устройства имеют также стандартные логические атрибуты (СЛА), каждый из которых может принимать одно из двух значений: "ИСТИНА" или "ЛОЖЬ".

· U - занято;

· NU - свободно;

· I - прервано;

· NI - не прервано.

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

В результате моделирования о каждом устройстве выводится следующая информация:

· FACILITY – Имя или номер устройства.

· ENTRIES – Количество транзактов, вошедших в устройство за все время моделирования, или после выполнения оператора RESET либо CLEAR.

· UTIL – Коэффициент использования устройства: отношение времени использования устройства к общему времени моделирования, или к периоду измерения.

· AVE. TIME – Среднее время использования отдельными транзактами в течение периода измерения.

· AVAIL – Состояние устройства в момент завершения моделирования. Если устройство занято, значение параметра равно 0, если свободно 1.

· OWNER – Номер транзакта, который занимал устройство в момент завершения обслуживания. Если устройство в этот момент было свободно, значение параметра устанавливается равным 0.

· PEND – Количество транзактов, обслуживание которых было прервано другими, прошедшими через блок PREEMPT. Указанные транзакты ожидают завершения обслуживания «более срочных».

· INTER – Количество транзактов, прервавших обслуживание в данном устройстве. Количество транзактов в цепи прерываний.

· RETRY – Количество транзактов, ожидающих изменения специальных условий, зависящих от состояния данного устройства.

· DELAY – Общее число транзактов, каждый из которых должен войти в устройство. Транзакты, ожидающие освобождения устройства, включая те, которые должны занять его, используя прерывание.



<== предыдущая лекция | следующая лекция ==>
Транзакты | Очереди и регистраторы очередей


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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