Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Содержание сайт... 65535
Вызов хранимых ... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Организация зап... 65318
Создание отчето... 61773
Модуль Forms 61654
ТЕХНОЛОГИИ ДОСТ... 58228
Пример работы с... 55852
Имитационное мо... 53596
Реклама
Сейчас на сайте
Гостей: 11
На сайте нет зарегистрированных пользователей

Пользователей: 13,069
новичок: momotw
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

База данных междугородних телефонных разговоров на Delphi
База данных - рабочее место кассира на Delphi + бд Access
База данных студентов на Delphi (файл записей) + Блок схемы

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Списки


Транзакты GPSS хранятся в списках. Существует пять видов списков в одном
из которых в любой момент времени может находиться транзакт: 1) текущих событии; 2)
будущих событий; 3) пользователя; 4) прерываний; 5) синхронизируемых транзактов.
В списке текущих событий транзакты расположены в порядке убывания приоритета;
внутри класса транзакты с одинаковыми приоритетами располагаются в порядке
поступления их в список Каждый транзакт в списке текущих событий может находиться
либо в активном состоянии (т. е. просматриваться в данный момент условного времени),
либо в состоянии задержки.
Если транзакт находится в активном состоянии, то процедура, осуществляющая
просмотр, пытается продвигать его к следующим блокам диаграммы. Если движение
транзакта блокируется каким-либо объектом аппаратной категории, т. е. вход в
следующий блок выполнить невозможно, то он переводится в состояние задержки.
Часть списка текущих событий для транзактов ожидающих изменения состояния
объектов аппаратной категории, представляют собой списки задержки. Существует
четыре вида списков, связанных с устройствами (устройство занято, свободно,
обслуживает прерывание, работает без прерываний), пять видов, связанных с памятями
(память заполнена, не заполнена, пуста, не пуста, транзакт может войти в память), и два
— с логическими ключами (ключ установлен, ключ сброшен).
Таким образом, заблокированный транзакт (например, блоке SEIZE из-за занятости
устройства) будет переведен в состояние задержки и помещен в список задержки
«устройство занято» для данного устройства. Когда другой транзакт освободит
устройство, все транзакты списка задержки «устройство занято» для данного устройства
будут переведены в активное состояние, и симулятор GPSS отметит, что произошло
изменение состояния устройства. Как только завершается обработка активного транзакта,
запускается процедура просмотра, и все транзакты, получившие возможность двигаться, в
результате изменения состояния устройства будут продвинуты. То же происходит с
любым из перечисленных выше списков задержки в момент, когда соответственно
изменяется состояние объекта аппаратной категории.
Пользователю следует учитывать, что для транзактов, заблокированных в блоке TEST
или пытающихся выйти из блока TRANSFER (в режимах BOTH, ALL), списков задержки
не существует. В этих случаях транзакты остаются в активном состоянии в списке
текущих событий и участвуют во всех просмотрах.
Список будущих событий содержит транзакты, у которых намеченное время начала
движения больше, чем текущее. Такие транзакты размещаются в списке строго в порядке
возрастания времени начала движения, т. е. транзакт, время начала движения которого
является ближайшим к значению текущего времени, состоит в списке первым, а транзакт
с максимальным временем начала движения — последним. Приоритеты не влияют на
порядок транзактов в этом списке.
Список пользователя содержит транзакты, удаленные пользователем из списка
текущих транзактов с помощью блока LINK.
Список прерываний содержит транзакты, обслуживание которых прервано на одном
или более устройствах. Транзакты в списке прерываний расположены в порядке
поступления. Этот список никогда не обрабатывается как списковая структура; транзакты
по мере надобности заносятся в этот список и извлекаются из него. Все транзакты,
захватившие устройства (пройдя блок SEIZE) и прерванные другими транзактами
(прошедшими блок PREEMPT), помещаются в этот список до тех пор, пока не будут
сняты все условия прерываний. Если условия прерывания не снимаются, транзакт может
оставаться в списке прерывании неопределенно долго.
Список синхронизируемых транзактов содержит транзакты, которые ожидают в
блоках ASSEMBLE или GATHER прихода заданного числа транзактов из той же группы:
находятся в блоках MATCH в ожидании поступления транзакта той же группы на
сопряженный блок MATCH. Этот список также никогда не обрабатывается как списковая
структура и представляет собой поднабор набора транзактов.
Опубликовал Kest December 14 2009 23:22:37 · 0 Комментариев · 5221 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
ScrollCredit
Последнее загруж...
Искусство програм...
Visual Studio 200...
Архив программ
CwstatusBar
Х. М. Дейтел, П. ...
Голосование для ...
Панель "ссылки"
Самоучитель Прогр...
Игра Car [Исходни...
LaserTank [Исходн...
TDBF
Краснов М. - Open...
TrayIcon
C++ Builder в за...
Шаблон для новост...
Факториал [Исходн...
Exe in exe
Allsubmitter 4.7 ...

Топ загрузок
Приложение Клие... 100399
Delphi 7 Enterp... 84060
Converter AMR<-... 20052
GPSS World Stud... 11503
Borland C++Buil... 11306
Borland Delphi ... 8257
Turbo Pascal fo... 6994
Visual Studio 2... 4975
Калькулятор [Ис... 4500
FreeSMS v1.3.1 3517
Случайные статьи
Создать свой сайт ...
свой технический п...
Библиотека ввода-в...
Введение в информа...
Модифицированный д...
Поддержка только о...
Включение
Функция GraphErrorMsg
Сегменты, использу...
Когда заказ сделан...
Представление симв...
Проверка жесткого ...
Линия границы надписи
Найти всю информац...
период, что застав...
Кольцевые пакетные...
Видео – залог успе...
потоками, могущими...
Список файлов
4.3. Общие случа...
Исследование внутр...
безопасные динамич...
Другие операции
Работа с переменны...
Почтовый конверт
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?