Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Зміст письмового звіту. 1. Змістовний опис блоків ASSIGN,LOOP,PREEMPT,RETURN.



1. Змістовний опис блоків ASSIGN,LOOP,PREEMPT,RETURN.

2. Змістовний опис оператору EQU.

2. Текст програми моделювання.

 

5.4 Контрольні питання

1. Як змоделювати цикл у мові GPSS?

2. Як працюють блоки ASSIGNтаLOOP?

3. Як використовуються блоки переривання PREEMPTтаRETURN?

4. Назвіть основні функції оператора EQU.

5. Чи можливо перервати цикл?

 


Лабораторна робота № 6

Блоки ENTER, LEAVE, GАТЕ, TEST.
Оператори STORAGE

 

Мета роботи –вивчити необхідні блоки для моделювання накопичувачів, навчитись моделювати черги за накопичувачами.

 

Теоретичні відомості

Для моделювання Q-схем з обмеженою чергою або з обмеженою ємністю накопичувача в GPSSW використовують блоки ENTER, LEAVE та оператор STORAGE. Ці блоки і оператор утворюють групу пам'ятей або групу опису накопичувачів. Пам'яті або накопичувачі відносяться до апаратної категорії, які мають візуалізацію у вигляді спеціальних вікон (в робочому рядку слід набрати комбінацію клавіш Alt + S).

Формат запису оператора STORAGE:

 

<№> <ім'я> STORAGE <A>

 

Тут <ім'я> – ім'я накопичувача, що використовується для посилань на нього; <A> – ємність (кількість каналів обслуговування) накопичувача, що задаються константою.

Для заняття та звільнення каналів обслуговування накопичувача використовується пара блоків ENTER (увійти) і LEAVE (покинути).

Формат запису блоку ENTER:

 

<№> ENTER <А>

 

У полі <А> вказується номер або ім'я накопичувача. Коли транзакт входить до блоку ENTER, то операнд поля <А> використовується для знаходження накопичувача за вказаним ім'ям. Якщо такого накопичувача не існує, то відбувається помилка виконання програми.

Формат запису блоку LEAVE:

 

<№> LEAVE <А>, [<В>]

 

Блок LEAVE звільняє певне число одиниць накопичувача під ім'ям, заданим в полі <А>. Поле <А> також визначає номер або ім'я накопичувача. Поле <В> визначає число одиниць накопичувача, що звільняються, якщо це поле порожнє, передбачається 1. Число одиниць, що звільняються, не повинне перевищувати поточний вміст накопичувача. Зазвичай поле <В> не використовується.

Блок GАТЕ перевіряє стан пристроїв, пам'ятей, логічних ключів. Блок TEST порівнює два стандартні числові атрибути по обчислюваному відношенню. Обидва блоки управляють потоком повідомлень (транзактів).

Формат запису блоку GATE:

 

<№> GATE <Х> <А>, <B>

 

Поле <А> містить ім'я або номер об'єкту, для якого проводиться перевірка допоміжної операції поля <Х>. Поле <В> містить номер або ім'я наступного блоку для вхідного транзакту, коли логічний оператор поля <Х> має значення «false».

Приклад 6.1. Потік заявок надходить у накопичувач Q-схеми з допустимою ємністю, що дорівнює 3 одиниці, рівномірно кожні 5 ± 1 хв. Якщо заявки після накопичувача застають 1-й обслуговуючий канал (пристрій) зайнятим, то вони надходять на обробку в 2-й канал. Час обробки 1-го каналу дорівнює 9 ± 1 хв, 2-го 13 ± 1 хв. Змоделювати обробку Q-схемою 100 заявок.

Рішення. Програма вирішення представлена на рис. 6.1.

Рисунок 6.1 – Програма вирішення прикладу 6.1 в системі моделювання GPSSW

 

У даному прикладі заявки, що надходять у Q-схему спочатку буферуються в накопичувачі з ємністью в 3 одиниці, а потім намагаються потрапити на обробку в 1-й канал обслуговування. Якщо 1-й канал виявляється зайнятим, тобто в ньому здійснюється обслуговування, то чергова заявка надходить на обслуговування в 2-й канал.

У програмі вирішення використовуються наступні формати запису оператора STORAGE, блоку GАТЕ.

Формат запису оператора STORAGE:

 

NAK3 STORAGE 3

 

Опис оператора знаходиться поза основним тілом програми, без нумерації. Мітка NАКЗ призначена для звернення або посилання на оператор. Операнд поля <А> визначає об'єм накопичувача (це 3). Операнд поля <А> має бути позитивним цілим. Коли транзакт намагається увійти до блоку ENTER, то запит на ємність накопичувача порівнюється з доступною ємністю. Якщо запит може бути виконаний, то транзакт входить до блоку ENTER, і поточна ємність накопичувача зменшується. Якщо запит транзакта не може бути виконаний, то транзакт входить до списку затримки багатоканального пристрою.

Формат запису блоку GATEв програмі:

 

20 GATE <Х> <А>, <B>

 

Поле <А> містить ім'я накопичувача з міткою NАКЗ, для якого проводиться перевірка допоміжної операції в полі <Х>. Поле <В> містить номер або ім'я наступного блоку для вхідного транзакту, коли логічний оператор поля <Х> має значення «неправда». У полі <Х> програми заданий логічний оператор SNF, пов'язаний з накопичувачем і означає, що накопичувач, заданий у полі <А>, заповнений. Поки накопичувач не буде заповнений, тобто логічний оператор SNFбуде давати «неправда», транзакт буде відправлений до блоку, заданому в полі <В> (в блок з міткою FACIL2).

На противагу умові SNF в полі <Х> може бути заданий логічний оператор SF, який означає, що накопичувач не заповнений.

Вихідна статистика по пристроях і блокам поміняється місцями, якщо застосувати оператор SF. Аналіз роботи системи розпочнеться з 2-го каналу (пристрою) і якщо він виявиться зайнятим обслуговуванням поточного транзакту, то черговий транзакт буде відправлений на обробку в 1-й канал.

Приклад 6.2. Потік заявок надходить у накопичувач з допустимою ємністю, що дорівнює 3 одиниці, за рівномірним законом розподілу протягом 5 ± 1 хв. Якщо заявки після накопичувача застають 1-й канал (пристрій) зайнятим, то вони надходять на обробку в 2-й канал. Час обробки 1-го каналу дорівнює 13 ± 1 хв, 2-го 9 ± 1 хв. Змоделювати обробку Q-схемою 100 заявок.

Рішення. Програма вирішення прикладу 6.2 представлена на рис. 6.2. Для повної ідентичності результатів моделювання в програмі для 2-го каналу час обслуговування прийнятий таким, який він був в 1-му каналі в програмі для прикладу 6.2.

Рисунок 6.2 – Програма вирішення прикладу 6.2 в системі моделювання GPSSW

 

Розглянемо приклад використання блоку GATE з логічним оператором, пов'язаним із пристроями.

Приклад 6.3. Вхідний потік заявок надходить в Q-схему з двома обслуговуючими каналами (пристроями) рівномірно протягом 5 ± 1 хв. Якщо 1-й канал зайнятий, то заявки надходять на обробку в 2-й канал. Час обробки 1-го каналу дорівнює 9 ± 1 хв, 2-гo 13 ± 1 хв. Змоделювати процес обробки Q-схемою 100 заявок.

Рішення. Подібна ситуація характерна для систем, коли кожна заявка, яка входить до Q-схеми в першу чергу відправляється в більш швидкодіючий канал обслуговування. Програма для вирішення прикладу 6.3 наведена на рис. 6.3.

Рисунок 6.3 – Програма вирішення прикладу 6.3 в системі моделювання GPSSW

Розглянемо для цієї програми формат запису блоку GATE з логічним оператором, пов'язаним з пристроєм:

 

GATE NU 1, FACIL2

 

Логічний оператор NUвказує на те, що пристрій, заданий у полі <А> (це пристрій під номером 1), вільний. Якщо логічна умова не виконується, то транзакт відправляється до блоку, ім'я якого задано в полі <В > (по мітці FACIL2). Транзакти, які обслуговуються у 1-му пристрої, за допомогою блоку TRANSFER відправляються на вихід системи (знищуються блоком TERMINATE). Транзакти з 2-го пристрою також потрапляють до блоку TERMINATE. Загальне число обслужених транзактів повинно бути 100.

 

Лабораторне завдання

Створити систему з двома накопичувачами. Вимоги які генеруються системою поступають на перший накопичувач доки він вільний, у разі заповнення першого вони поступають у другий накопичувач.

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.