Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SysSoft Lecture 04.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.7 Mб
Скачать

Керування процесорами

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

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

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

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

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

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

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

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

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

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

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

7) і т.д.

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

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

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

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

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

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

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

а) Інтервальний таймер

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

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

б) Пріоритети

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

Динамічні пріоритети. Реагують на зміни в ситуації. Вимагають більших витрат. Але система стає більш реактивною, краще використовує ресурси.

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

в) Планування за терміном завершення

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

г) Планування за принципом FIFO

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

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

д) Циклічне планування (RR)

Циклічне, або кругове (round robin, RR). Диспетчеризація виконується за принципом FIFO, але кожний раз процесу надається обмежена кількість часу ЦП, що називається квантом. Процес, у якого був перехоплений ЦП, переходить в кінець списку готових до виконання процесів. Така дисципліна (RR) ефективна для роботи з розподілом часу, коли система повинна гарантувати можливий час відповіді для всіх інтерактивних користувачів.

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

е) Планування за принципом SIF (“найкоротше завдання - перший”)

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

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

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

Можна “консервувати” процеси. Не застосовується в системах розподілу часу, де необхідно гарантувати можливий час відповіді.

є) Принцип SRT (“за найменшим часом, що залишається”)

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

ж) Принцип HRN (“за найбільшим відносним часом відповіді”)

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

з) Багаторівневі черги зі зворотними зв’язками

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]