Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дом Задание 5 Имитационная Система 6.04.12.doc
Скачиваний:
0
Добавлен:
30.08.2019
Размер:
791.55 Кб
Скачать

ВСТУП

Задача вибору обладнання в інформаційних системах є складною задачею. Вона належить до класу задач вибору. Задача вибору як такого розглядалася у численних роботах, оскільки проблема вибору стає перед кожним розробником систем незалежно від галузі проектування системи.

Для вирішення задачі вибору може використовуватися достатньо широкий клас математичних постанок задач.

Найбільш вдалим для вирішення поставленої задачі здається підхід на основі систем підтримки прийняття рішень (СППР). Важливою перевагою універсальних СППР є можливість їх використання в широкому діапазоні завдань ППР: від аналізу ситуації тільки одним фахівцем/керівником за відсутності чисельних даних про характеристики порівнюваних об'єктів до обробки великих об'ємів об'єктивної і суб'єктивної інформації.

Головною в СППР є не обчислювальна частина (для цього досить використовувати Exel), а технологічна підтримка процедури коректного витягання і формалізації суб'єктивних вимог і переваг фахівців, а також процедури покрокової агрегації інформації під контролем аналітика.

Імітаційна модель системи оцінки продуктивності

1 Приклад системи для вивчення оцінки продуктивності

Для проведення дослідження впливу характеристик елементів інформаційної системи на оцінку продуктивності цієї системи введемо в розгляд систему-приклад.

Ця система-приклад має дуже просту конфігурацію і схему. Ця система має конфігурацію, яка приведена на рис. 2.1. Далі по тексту роботи для зручності називатимемо цю систему ПРОП-система (конфігурація Прикладу для вивчення Оцінки Продуктивності).

Рис. 2.1. Блок-схема ПРОП-системи.

Таким чином, термін ПРОП-система позначатиме систему з конфігурацією рис. 2.1. Відмітемо, що природа пристроїв введення-виведення не специфікована; вона залежатиме від типу системи, що розглядається у кожному конкретному випадку. Типові структури систем, з якими ми матимемо справу впродовж цієї книги, перераховані у табл. 2.1 і будуть стисло описані нижче стосовно конфігурації ПРОП-системи.

2.2. Опис роботи проп-системи

Типовими пристроями введення-виведення системи пакетної обробка (у тому числі і конфігурації ПРОП) є пристрої читання записів з магнітної стрічки і пристрій друку.

Користувачі пред'являють свої завдання (програми і дані) у вигляді записів на магнітній стрічці. Записи з магнітної стрічки читаються пристроєм читання записів з магнітної стрічки, і після перетворення кодів їх вміст переноситься в буферну область в основній пам'яті М через Р4. Коли буфер наповниться, його вміст переноситься на диск через Р3. На диску завдання чекають своєї черги на завантаження в пам'ять. Як тільки завдання завантажене через Р3, воно може оброблятися центральним процесором Pi. Під час виконання завдання буде вимагати інформацію, розташовану на робочому диску (Диск2) або на системному диску (Диск). Операційна система, яка розташована в пам'яті М (хоча б частково), піклуватиметься про обмін даних. Завдання також генеруватиме вихідні повідомлення для користувача, які накопичуються на диску, а в кінці виконання завдання друкуються, проходячи через Р3, М і Р4.

Користувачі системи пакетної обробки повідомляють операційній системі свої запити ресурсів на мові управління завданнями за допомогою файлу завдання на магнітній стрічці. У одному завданні, тобто в одному і тому ж файлі, може вимагатися послідовне виконання декількох кроків завдання. Крок завдання є етап виконання завдання, що логічно відмінний від інших і явно специфікований пропозицією мови управління завданнями.

Типові кроки завдання:

  • компіляція,

  • виконання програми,

  • копіювання файлу з системного диска на робочий диск або, навпаки;

  • роздрукування вмісту файлу.

Коли крок завдання закінчується, відведена йому область пам'яті звільняється, а наступний крок того ж завдання додається до списку кроків, що чекають завантаження в М.

Якщо всі процесори на рис. 2.1 насправді представляють один і той же фізичний процесор, скажімо Р*, то поєднання в часі неможливе. У той час коли Р* діє як Р4, він не може діяти як Р1, Р2 або Р3. У цьому випадку завдання виконуються строго послідовно. Неможливо починати виконання нового завдання, перш ніж завершиться попереднє.

Таку організацію, в якій не допускається суміщення завдань, слід було б назвати чисто однопрограмною.

Нехай тепер процесори на рис. 2.1 представлені чотирма незалежними процесорами. Процесори Р2, Р3 і Р4 називаються каналами введення-виведення і можуть бути або контроллерами (процесори з постійними програмами), або звичайними процесорами з програмами, що запам'ятовуються. Діяльність цих чотирьох процесорів може перекриватися в часі. Тоді, наприклад, поки відбувається передача інформації між пристроєм читання завдань з магнітної стрічки і диском або між диском і пристроєм друку, P1 може виконувати завдання. Цей тип системи називатимемо СПП (СПП означає Суміщення роботи Периферійних Пристроїв у взаємодії з центральним процесором). У такій системі робота центрального процесора і каналу введення-виведення може перекриватися. Проте в пам'яті весь час знаходиться тільки одне завдання користувача, що вконується. Таким чином, не дивлячись на незалежність процесорів, центральний процесор не може перемикатися на інші завдання під час пересилок введення-виведення, замовлених поточним завданням, і має чекати їх завершення. Отже, в системі СПП поєднання обмежене.

Якщо в пам'ять може бути завантажено декілька завдань користувача, центральний процесор може перемикатися з одного завдання на інші, оскільки виконуване завдання потребує введення-виведення даних, а для того, щоб відбулася така передача даних, операційна система повинна зробити необхідні приготування. Ми називатимемо завдання активним, якщо воно знаходиться в даний момент в пам'яті. Перемикання центрального процесора можливо, тільки якщо хоч би одне з інших активних завдань готове до роботи. Активне завдання не готове (або блоковано), якщо воно чекає завершення замовленого їм введення-виведення даних. Такий тип систем ми називатимемо мультипрограмними системами. У такій системі число активних завдань звичайно називається ступенем мультипрограмування. Термін однопрограмна робота буде застосовуватися також і до систем типу СПП, не дивлячись на одночасне виконання деяких дій в таких системах, оскільки центральний процесор не перемикається на інше завдання, поки виконуване завдання блокує саме себе запитом на уведення-виведення даних.

Як у однопрограмних, так і в мультипрограмних системах програма, мабуть, повинна бути повністю завантажена в пам'ять, щоб почалося її виконання. На кожне завдання відводиться певний об'єм пам'яті. Якщо розмір завдання перевершує цей об'єм, програміст повинен розділити завдання на сегменти, які повинні бути послідовно завантажені операційною системою відповідно до детальних вказівок користувача. Ця організація називається (з очевидних причин) ручним управлінням пам'яттю.

Проте можливо (і особливо зручно в мультипрограмних системах) побудувати механізми, які дозволять програмам виконуватися навіть будучи завантаженими лише частково, без жорстких обмежень, сегментів, що накладаються методом перекриття, і без втручання програміста. Це може бути досягнуто застосуванням схем автоматичного управління пам'яттю, які дозволяють операційній системі вирішувати, яка частина програми повинна знаходитися в пам'яті в даний момент. Посилання виконуваної програми на розділ інформації, що не знаходиться в основній пам'яті, викликає відмову. Відмови обробляються операційною системою, яка прочитує відсутній розділ з пристрою, що виділений для цієї мети (наприклад, з робочого диску). Таким чином, ієрархія пам'яті, що складається з М і робочого диску, автоматично управляється операційною системою, яка веде обмін інформацією між М і робочим диском без жодних вказівок з боку програміста. Дійсно, маючи справу з такими системами, програмісти пишуть свої програми в просторі адрес, не співпадаючому з простором фізичних адрес, тобто з М. Цей простір називається простором віртуальних адрес, або множиною адрес віртуальної пам'яті. Розмір віртуальної пам'яті одного завдання звичайно багато більше М (або області М, відведеної одному завданню). Таким чином, програмісту тільки зрідка доводиться піклуватися про пристосування завдань до наявного розміру пам'яті. Накладення віртуальних адрес на фізичні (у М або в робочому диску) виконується динамічно, посилання за посиланням, спеціальним апаратним механізмом.

Типовими пристроями введення-виведення діалогової ПРОП-системи є модеми або дисплеї. Користувачі вводять команди замість пропозицій мови управління завданнями і дані для системних програм або програм користувача, з якими вони взаємодіють. Ці програми повинні існувати в системі до того, як вони будуть названі командами користувача. Кожне повідомлення, введене користувачем, що складається з команди або даних, або з того і іншого, збирається символ за символом процесором Р4 в буфері усередині М. Коли поступає символ «кінець повідомлення», операційна система інтерпретує повідомлення і «активує» процес, з яким користувач бажає взаємодіяти. Звичайно цей процес містить велику частину своєї інформації на диску або на робочому диску. Активація процесу означає в даному випадку постановку його в чергу процесів, що чекають завантаження в пам'ять. У деякий момент інформація для процесу (програми і дані) завантажується повністю або частково в М, і як тільки процесор підключиться до нього, почнеться виконання процесу.

Користувач, що вводить «легку» команду (що вимагає малих ресурсів системи), чекає швидкої відповіді системи. Наприклад, команда редагування рядка повинна бути виконана найбільше за декількох секунд. Інакше увага користувача розсіюватиметься і взаємодія з системою стане обтяжливою і неефективною.

Проте деякі з команд, що підлягають обслуговуванню в даний момент часу, цілком можуть виявитися «важкими»; наприклад, деякі користувачі можуть замовити компіляцію, виконання довгої програми або маніпуляцію з великим файлом; тоді як інші просто виконують редагування, питають час дня або використовують систему як настільний калькулятор. Звичайно, для того, щоб запобігти дії важких запитів на час відповіді системи на легкі питання, використовується метод розділення часу. Цей метод полягає в обмеженні часу, на який центральний процесор передається даному процесу без перемикання на інші готові процеси. Очевидно, що центральний процесор перемикається, тільки якщо існує інший готовий процес. Максимальний час центрального процесора, який може бути наданий деякому процесу кожного разу при його включенні, називається квантом процесорного часу. Якщо виконання процесу не завершилося, коли закінчився квант, процес уривається і ставиться в чергу готових. Коли підходить його черга, процес одержує наступний квант і т.д. до його завершення. Відмітимо, що завершення в діалоговій системі звичайне означає, що процес вимагає нової команди або нових даних від користувача.

Діалогова система може бути однопрограмною або мультипрограмною. У першому випадку тільки один процес в даний момент часу знаходиться в основній пам'яті. Коли його час перевершує квант, процес розвантажується з пам'яті і у пам'ять завантажується інший процес, готовий до виконання. У разі мультипрограмування в пам'яті одночасно можуть знаходитися декілька процесів, і центральний процесор перемикається па готовий процес, якщо поточний процес блокує сам себе операцією введення-виведення. Якщо це термінальна операція введення-виведення (тобто процес нею закінчується) або квант вичерпаний, процес звичайно (але не завжди) розвантажується з пам'яті.

Ієрархія пам'яті навіть в діалоговій системі може управлятися уручну або, принаймні частково, автоматично. У останньому випадку для того, щоб процеси могли виконуватися, не обов'язково, щоб вони цілком завантажувалися в пам'ять або були належним чином розділені на сегменти. Інакше кажучи, діалогова система (однопрограмна або мультипрограмна) може надати кожному з своїх користувачів віртуальну пам'ять.

Три організаційні координати, відмічені в табл. 2.1, не залежні одна від іншої; будь-яка з восьми комбінацій напрямів (по трьох координатах) принципово можлива. У деяких системах обидва варіанти, вказані у табл. 2.1 для певної координати, співіснують. Наприклад, є багато операційних систем, що забезпечують пакетну обробку разом з діалоговою. Можливо також автоматичне управління частиною ієрархії пам'яті одночасно з ручним управлінням рештою частини.

Важливо відзначити, що мультипрограмування було введено в основному для збільшення кількості роботи, що виконується центральним процесором, - отже, для збільшення продуктивності системи, - і його наявність приховано від користувача. З іншого боку, метод розділення часу обгрунтовується міркуваннями швидкості відповіді на команди користувача. Більш того, користувач бачить мікроскопічну різницю між пакетною обробкою і діалоговим рахунком. Наявність віртуальної пам'яті також впливає на користувача, але не так глибоко і безпосередньо, як спосіб обробки.