Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗмМод_Р3+.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.62 Mб
Скачать

24

Змістовий модуль 3. Планування та диспетчеризація процесів.

Лекція №8

3.1 Тема Загальні принципи планування

План

  1. Особливості виконання потоків.

  2. Механізми і політика планування.

  3. Застосовність принципів планування.

Мета: Вивчити особливості виконання потоків. Знати поняття механізму і політики планування. Знати застосовність принципів планування.

.

3.1.1 Особливості виконання потоків

Можливість паралельного виконання потоків залежить від кількості доступних процесорів. Якщо процесор один, паралельне виконання неможливе принципово (у кожен момент часу може виконуватися тільки один потік). Якщо кількість процесорів N> 1, паралельне виконання може бути реалізоване тільки для N по­токів (по одному потокові на процесор).

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

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

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

Розглянемо загальні принципи, що лежать в основі планування.

З погляду планування виконання потоку можна зобразити як цикл чергування періодів обчислень (використання процесора) і періодів очікування введення-ви-ведення. Інтервал часу, упродовж якого потік виконує тільки інструкції процесора, називають інтервалом використання процесора (CPU burst), інтервал часу, коли потік очікує введення-виведення, — інтервалом введення-виведення (I/O burst). Найчастіше ці інтервали мають довжину від 2 до 8 мс. Потоки, які більше часу витрачають на обчислення і менше — на введення-виве-дення, називають обмеженими можливостями процесора (CPU bound). Вони актив­но використовують процесор. Основною їхньою характеристикою є час, витраче­ний на обчислення, інтервали використання процесора для них довші. Потоки, які більшу частину часу перебувають в очікуванні введення-виведення, назива­ють обмеженими можливостями введення-виведення (I/O bound). Такі потоки завантажують процесор значно менше, а середня довжина інтервалу використан­ня процесора для них невелика. Що вища тактова частота процесора, то більше потоків можна віднести до другої категорії.

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

Задачі планування:

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

  • вибір для виконання потоку із черги готових потоків.

Диспетчеризація – це реалізація рішення, знайденого в результаті планування.

Задачі диспетчеризації:

  • збереження контекста поточного потоку;

  • завантаження контекста нового потоку;

  • запуск нового потоку на виконання.