Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Работа с памятью. STR STORAGE 10.. Пример5




Работа с памятью

Память ‑ объект языка, который призван имитировать разного рода накопители, используемые в исследуемых системах, в которых может одновременно находиться несколько транзактов. Для каждой применяемой памяти пользователь должен указать ее емкость — объём памяти, определяющий максимальное количество транзактов, которые могут одновременно находиться в ней. Для указания емкости используется оператор описания памяти STORAGE. Как любой оператор описания языка этот оператор помещается между оператором SIMULATE и первым оператором GENERATE. Поле метки содержит имя памяти, а операнд А указывает емкость памяти.

Например, для описания памяти STR емкостью 10 единиц используется оператор 

STR STORAGE 10.

В начальный момент времени все памяти пустые. Если в ходе моделирования транзакт обращается к неописанной памяти, ее объем принимается равным  — 1 единиц.

Оператор ENTER (Занятие памяти). В поле  оператора указывается имя памяти, в которую помещается транзакт, в поле  - число единиц памяти, занимаемых транзактом при входе. Когда транзакт входит в оператор ENTER, определяется число свободных единиц памяти. Если значение операнда  не превышает числа свободных единиц памяти, то число занятых единиц увеличивается на значение операнда . В этом случае транзакт входит в оператор ENTER без задержки. Если же значение операнда  превышает число свободных единиц памяти, то транзакт задерживается перед входом в оператор ENTER. Задержанные при обращении к памяти транзакты упорядочиваются по приоритету.

Если поле  в операторе ENTER пустое, то число занимаемых единиц памяти принимается равным единице.

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

В тот момент модельного времени, когда транзакт освобождает память, симулятор просматривает список задержанных у памяти транзактов, если они есть. Для каждого очередного транзакта проверяется, может ли он теперь быть обслужен памятью. Если такая возможность есть, то симулятор перемещает этот транзакт в оператор ENTER, и в результате число занятых единиц памяти соответствующим образом увеличивается.

Пример5

Автомобили подъезжают к бензозаправочной станции в среднем каждые 4±2 мин. На станции есть две бензоколонки, каждая из которых используется в среднем 5±1 мин. Автостоянка при станции рассчитана на 4 автомобиля. Если подъехавший автомобиль застает обе бензоколонки занятыми, то он встает в очередь на автостоянку. Если же все места и на автостоянке заняты, то автомобиль проезжает мимо. Промоделировать работу станции за 12 часов.

SIMULATE  
STO STORAGE 4                            места под автостоянку
COL STORAGE 2                            бензоколонки
GENERATE 4, 2                            приезд автомобиля
IF STO=F, BYBY                            если места заняты — проезжает
ENTER STO                                      занять место на автостоянке
ENTER COL                                      занять бензоколонку
LEAVE STO                                      освободить автостоянку
ADVANCE 5, 1                                  заправиться
LEAVE COL                                      освободить бензоколонку
BYBY TERMINATE                        покинуть станцию
GENERATE 720                                таймер
TERMINATE 1                                  покинуть станцию
START 1  
END  
Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...