Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мороз-відповіді.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
694 Кб
Скачать
☆

38. Обробка „переривань” та механізм перемикання контексту „переривань”.

Для обробки кожного з видів переривань в складі ОС передбачені програми, що називаються обробниками переривань (IH – InterruptHandler). Коли відбувається переривання, ОС запам’ятовує стан перерваних процесів та передає керування відповідним обробникам переривань. Ця процедура називається перемиканням контексту. При її реалізації використовуються слова стану програми (ProgramStatusWord, PSW), які керують напрямком виконання команд і містять різну інформацію про відносно стану процесу.

Існує три типи PSW: біжуче, нове та старе.

Адреса наступної команди, що має виконуватися, міститься в біжучому PSW, у ньому вказані також типи переривань, що дозволені заборонені на даний час.

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

В одно процесорній машині є тільки одне біжуче PSW, але N нових та N старих (по одному на кожен тип переривань).

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

1) Біжуче PSW стає старим PSW для переривань цього типу;

2) Нове PSW для переривань цього типу стає біжучим PSW.

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

39. Механізми, що використовуються для планування процесорів

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

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

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

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

Планування повинно:

1) бути справедливим, тобто однаково відноситись до всіх процесів.

2) забезпечувати максимальну пропускну здатність системи.

3) забезпечувати максимальній кількості користувачів допустимий час відповіді.

4) забезпечувати передбачуваність, мінімальні накладні витрати, збалансоване використання ресурсів.

5) виключати нескінчене відкладання процесів;

6) враховувати пріоритети;

7) і т.д.

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

Планування з переключенням та без переключення

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

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

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

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