Що таке багатопрограмний (мультипрограмним) режим ЕОМ ЕОМ - каталог статей - s team p ortal - ru

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

Історично однопрограмні режими з'явилися першими. При їх реалізації всі основні ресурси ЕОМ (час роботи процесора. Оперативна пам'ять і ін.) Повністю віддаються в монопольне володіння користувача. Однопрограмних режим може мати модифікації: однопрограмний режим безпосереднього доступу і однопрограмний режим непрямого доступу.

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

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

Суть режиму полягає в наступному.

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

Мал. 9.5. Однопрограмні режими роботи: а - режим безпосереднього доступу; б-режим непрямого доступу

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

Багатопрограмний режим роботи ЕОМ дозволяє одночасно обслуговувати кілька програм користувачів. Реалізація режиму вимагає дотримання наступних неодмінних умов:

• незалежності підготовки завдань користувачами;

• поділу ресурсів ЕОМ в просторі і часі;

• автоматичного управління обчисленнями.

Незалежність підготовки завдань користувачами забезпечується розвиненими засобами САП. Використовуючи наявні мови програмування, користувачі не повинні враховувати ситуації, в яких може статися одночасне їх звернення до одних і тих же ресурсів ЕОМ. Вони можуть використовувати навіть однакові ідентифікатори, звертатися до одних і тих же бібліотекам програм і масивів даних, задіяти одні й ті ж пристрої і т.д. Черги до загальних ресурсів повинні обслуговуватися засобами ОС, не створюючи взаємних перешкод користувачам.

Деякі види ресурсів допускають тільки послідовне їх використання програмами користувачів, наприклад, в однопроцессорной ЕОМ час роботи єдиного процесора є неподільні ресурсом. Його використання передбачає впорядкування потоку заявок і почергове його використання програмами. У сучасних ЕОМ упорядкування потоку заявок забезпечується на основі їх пріоритетів, де пріоритет - деяка апріорна характеристика заявки, яка визначає її місце в черзі на обслуговування. Формування черг забезпечують програмні компоненти ОС. Обслуговування черг заявок виконується з використанням системи переривань і пріоритетів. Остання виділяє з групи одночасно заявок одну, найбільш пріоритетну.

Автоматичне управління обчислювальним процесом в багатопрограмному режимі виконується центральної програмою управління завданнями. Сутність управління зводиться до управління ресурсами. При цьому ОС складає таблиці управління, виділяє ресурси, запускає їх в роботу і коригує таблиці.

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

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

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

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

Мал. 9.6. Багатопрограмний режим пакетної обробки

Подібні переривання і передачі управління можуть багаторазово нашаровуватися один на одного. Це дозволяє до мінімуму скоротити непродуктивні простої процесора.

З вищевикладеного випливає, що в однопроцесорних ЕОМ многопрограммность є здавалося б, так як процесор надається програмам в непересічні інтервали часу. Зменшення часу обслуговування забезпечується також за рахунок паралельної роботи процесора і пристроїв введення-виведення.

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

Режим поділу часу є більш розвиненою формою многопрограммной роботи ЕОМ. У цьому режимі, зазвичай поєднаному з фоновим режимом класичного мультипрограммирования, окремі найбільш пріоритетні програми користувачів виділяються в одну або кілька груп. Для кожної такої групи встановлюється круговий циклічний обслуговування, при якому кожна програма групи періодично отримує для обслуговування достатньо короткий інтервал часу - час кванта-т (ріс.9.7).

Мал. 9.7. Режим поділу часу

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

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

інтервальний таймер, таймер процесора, електронний годинник і т.д. Це дозволяє формувати групи програм з постійним або змінним кванта часу - т. Поділ часу знаходить широке застосування при обслуговуванні ЕОМ мережі абонентських пунктів.

Складнішою формою поділу часу є режим реального часу. Цей режим має специфічні особливості:

• потік заявок від абонентів носить, як правило, випадковий, непередбачуваний характер;

• втрати надходять на вхід ЕОМ заявок і даних до них не допускаються, оскільки їх не завжди можна відновити;

• час реакції ЕОМ на зовнішні впливи, а також час видачі результатів i -й завдання повинні відповідати жорстким обмеженням виду

де tP- час вирішення завдання; tР ДОП - допустимий час вирішення.

На рис.9.8 показана залежність вартості виконання завдання від часу tP. При порушенні нерівності (9.1) вартість рішення різко падає до нуля; в окремих системах вона може стати і негативною, що показано штриховою лінією. Режим реального часу об'єднує практично всі системи, в яких ЕОМ використовується в контурі управління.

Мал. 9.8. Залежність вартості рішення від часу в системах реального часу