Навигация
Главная
Поиск
Форум
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
Реклама
Сейчас на сайте
Гостей: 8
На сайте нет зарегистрированных пользователей

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

Моделирование работы класса персональных компьютеров на GPSS + Отчет + Б...
Моделирование литейного цеха на GPSS + Пояснительная записка
Информационная система - продуктовый магазин на Turbo Pascal (База данны...

Списки


Транзакты 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 Комментариев · 6974 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
База данных: Книж...
THttpScan v4.1
Расширенный загру...
Как программирова...
Импорт новостей ...
Шифрование по алг...
Шкрыль А. - Разра...
Синтаксический ан...
Экспорт базы данн...
3D Октаэдр
ProLIB18
PHP 5. Полное рук...
Библиотека програ...
Усложнённый кальк...
Размещение элемен...
AUTOWEB
Программирование ...
Atb
Игра змейка
MiniTetris [Исход...

Топ загрузок
Приложение Клие... 100779
Delphi 7 Enterp... 97925
Converter AMR<-... 20283
GPSS World Stud... 17034
Borland C++Buil... 14206
Borland Delphi ... 10327
Turbo Pascal fo... 7380
Калькулятор [Ис... 6047
Visual Studio 2... 5213
Microsoft SQL S... 3666
Случайные статьи
1. Пропускная спос...
Встроенные массивы...
Если требуется убе...
Где мы находимся?
Метод не занимает ...
КОМАНДЫ
Фрирулетка и слоты...
More Book Stuff
Создаем таблицу в ...
Сообщения протокол...
Компоненты DOA
Защита Web-форм от...
Функция ядра
распределенной сети
Базовые файловые с...
Скобки и иерархия ...
Создание установоч...
ЭТАП 2. СМЫСЛОВОЕ ...
Благодарности
Применение динамич...
Как использовать п...
Строковые потоки
• Открыть в службе...
Объект DataView, с...
Генератор паролей
Статистика



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


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