Навигация
Главная
Поиск
Форум
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
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 13
На сайте нет зарегистрированных пользователей

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

Моделирование ЭВМ на GPSS (три класса заданий) + Пояснительная записка
Метод конечных разностей для интерполяции/экстраполяции на Delphi
Моделирование круглосуточного интернет кафе на GPSS + Отчет

Списки


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

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Усложнённый кальк...
oTextrackBar
Abbrevia
Голосование для ...
Ehlib
Binary2XMLDemo (Р...
Delphi 2005 Учимс...
С/C++ Программиро...
CABfiles
Шкрыль А. - Разра...
Illusion
Counter [Исходник...
Matrix2D
Domen Name IP
AVIwriter
SUIPack
Таймер и секундомер
WebReg v1.3
Assistant
IPAddresseEdit

Топ загрузок
Приложение Клие... 100772
Delphi 7 Enterp... 97809
Converter AMR<-... 20261
GPSS World Stud... 17014
Borland C++Buil... 14189
Borland Delphi ... 10267
Turbo Pascal fo... 7372
Калькулятор [Ис... 5972
Visual Studio 2... 5206
Microsoft SQL S... 3661
Случайные статьи
Создание интернет ...
Объекты Connection...
Объединение SLAAC ...
Операции в Прологе
Ставки онлайн в БК...
Точки останова в с...
Сбор данных с прим...
Обзор панели управ...
Постоянно продолжа...
Контроллер от NES,...
Сохранение данных ...
10.4. Методы умень...
ОЧЕРЕДИ
Прикладные службы
Header does not ma...
Служба удаленного ...
Типизация перемен...
Сканеры и камеры и...
Группа блоков созд...
Перечислим основны...
Документы консорци...
Описание типа доку...
8.5. И что это зна...
Как открывать файл...
между этими компью...
Статистика



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


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