logo
СПЗ_лекції

3.Планування вводу-виводу.

За допомогою планування вводу-виводу приймається рішення про те який із запитів процесів на операції вводу-виводу буде оброблений вільним пристроєм вводу-виводу.

Мета планування процесора полягає в розподілі в часі процесів, які виконуються процесором (або процесорами) таким чином, щоб задовольняти вимогам системи, таким, як час відгуку, пропускна здатність і ефективність роботи процесора. В багатьох системах планування розбивається на три окремі функції – довготривале, середньотривале і короткотривале планування.

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

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

Довготривале планування вказує, які програми допускаються до виконання системою, і цим визначає ступінь багатозадачності. Завдання (чи програма користувача), яке допускається до виконання стає процесом, який добавляється в чергу для короткотривалого планування. В деяких системах тільки створений процес добавляється в чергу середньотривалого планувальника і при цьому повністю переноситься на диск.

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

Розглядаючи частоту роботи планувальника можна сказати, що довготривале планування виконується порівняно рідко, середньотривале трохи частіше. Короткотривалий планувальник, відомий також як диспетчер, працює частіше всього, визнаючи, який саме процес буде виконуватись наступним. Він викликає подію, яка може призупинити поточний процес або надати можливість припинити виконання даного процесу на користь іншого. Деякі приклади таких подій: переривання таймера, переривання введення-виведення, виклик ОС, сигнали.