- •3.1 Тема Загальні принципи планування
- •3.1.1 Особливості виконання потоків
- •3.1 Механізми і політика планування
- •3.1.2 Застосовність принципів планування
- •3.2 Тема Види планування
- •3.2.1. Довготермінове планування
- •3.2.2 Середньотермінове планування.
- •3.2.3 Короткотермінове планування
- •3.2.4 Типи планування
- •Статистичне планування.
- •3.3 Тема Стратегії планування
- •3.3.1 Варіанти передачі керування від одного потоку.
- •3.3.2 Витісняльна і невитісняльна багатозадачність.
- •3.4 Тема Алгоритми планування
- •3.4.1 Планування за принципом fifo
- •3.4.2 Кругове планування
- •3.4.3 Планування із пріоритетами
- •3.4.4 Планування на підставі характеристик подальшого виконання
- •3.4.5 Багаторівневі черги зі зворотним зв'язком
- •3.4.6 Лотерейне планування
- •3.5 Тема Реалізація планування в Linux
- •3.5.1 Планування в Linux — традиційне, що належить до ядер версій до 2.4 включно
- •3.5.2 Планування в Linux —нове, що включене в ядро версії 2.6
- •3.6.1 Планування потоків у ядрі
- •3.6.2 Особливості задання кванта часу
- •3.6.3 Програмний інтерфейс планування
3.1 Механізми і політика планування
Слід розрізняти механізми і політику планування. До механізмів планування належать засоби перемикання контексту, засоби синхронізації потоків тощо, до політики планування - засоби визначення моменту часу, коли необхідно перемкнути контекст. Ту частину системи, яка відповідає за політику планування, називають планувальником (scheduler), а алгоритм, що використовують при цьому, алгоритмом планування (scheduling algorithm).
Є різні критерії оцінки політики планування, одні з них застосовні для всіх систем, інші — лише для пакетних систем або лише для інтерактивних.
Сьогодні найчастіше використовують три критерії оцінки політики планування .
Мінімальний час відгуку. Це найважливіший критерій для інтерактивних систем. Під часом відгуку розуміють час між запуском потоку (або введенням користувачем інтерактивної команди) і отриманням першої відповіді. Для сучасних систем прийнятним часом відгуку вважають 50-150 мс.
Максимальна пропускна здатність. Це кількість задач, які система може виконувати за одиницю часу (наприклад, за секунду). Такий критерій доцільно застосовувати у пакетних системах; в інтерактивних системах він може бути використаний для фонових задач. Щоб підвищити пропускну здатність, необхідно:
скорочувати час даремного навантаження (наприклад, час, необхідний для перемикання контексту);
ефективніше використати ресурси (для того, щоб ані процесор, ані при строї введення-виведення не простоювали).
Третім критерієм є справедливість, яка полягає в тому, що процесорний час потокам виділяють відповідно до їхньої важливості. Справедливість забезпечує такий розподіл процесорного часу, що всі потоки просуваються у своєму виконанні, і жоден не простоює. Відзначимо, що реалізація справедливої політики планування не завжди призводить до зменшення середнього часу відгуку. Іноді для цього потрібно зробити систему менш справедливою.
3.1.2 Застосовність принципів планування
Принципи планування потоків застосовні насамперед до багатопотокових систем із реалізацією схеми 1:1 (тут плануються винятково потоки ядра), а також до систем з реалізацією моделі процесів. В останньому випадку замість терміна «потік» можна вживати термін «процес», а інформацію, необхідну для планування, зберігати в структурах даних процесів. Складніші принципи планування використовують у багатопотокових системах, для яких кількість потоків користувача не збігається з кількістю потоків ядра (схеми 1:М і M:N). Для них потрібні два планувальники: один для роботи на рівні ядра, інший — у режимі користувача.
Лекція № 9
3.2 Тема Види планування
План
1.Довготермінове планування.
2.Середньотермінове планування.
3.Короткотермінове планування.
4. Типи планування
Мета: Вивчити види та типи планування.
3.2.1. Довготермінове планування
Розрізняють планування довготермінове (long-term scheduling), середньотермінове (medium-term scheduling) і короткотермінове (short-term scheduling).
Засоби довготермінового планування визначають, яку з програм треба завантажити у пам'ять для виконання. Таке планування називають також статичним, оскільки воно не залежить від поточного стану системи. Воно відігравало важливу роль у пакетних системах, коли заздалегідь відомо, які процеси повинні бути виконані і можна скласти розклад виконання задач. В інтерактивних системах (наприклад, у системах з розподілом часу) завантаження процесів у пам'ять здійснюють переважно користувачі, і це плануванню не підлягає; тому в них зазвичай використовують спрощену стратегію довготермінового планування. Система дає можливість створювати процеси і потоки до досягнення деякої максимально можливої межі, після чого подальші спроби створити новий процес або потік спричинятимуть помилку. Така стратегія ґрунтується і на психології користувачів, які, почуваючи себе некомфортно в перевантаженій системі, можуть переривати роботу з нею, що призводить до зниження навантаження.
