Page 31 - 6111
P. 31
обчислювальної машини, зокрема, процесорного часу: чим вищий
пріоритет, тим вищі привілеї. Пріоритет може виражатися цілими
чи дробовими, позитивним чи негативним значенням. Чим вищі
привілеї процесу, тим менше часу він буде проводити в чергах.
Пріоритет може призначатися директивно адміністратором системи
в залежності від важливості роботи або внесеної плати, або
обчислюватися самою ОС за визначеними правилами, він може
залишатися фіксованим протягом усього життя процесу або
змінюватися в часі відповідно до деякого закону. В останньому
випадку пріоритети називаються динамічними.
Існує два різновиди пріоритетних алгоритмів:
- алгоритми, що використовують відносні пріоритети;
- алгоритми, які використовують абсолютні пріоритети.
В обох випадках вибір процесу на виконання з черги готових
здійснюється однаково: вибирається процес, що має найвищий
пріоритет. По різному вирішується проблема визначення моменту
зміни активного процесу. У системах з відносними пріоритетами
активний процес виконується до тих пір, поки він сам не покине
процесор, перейшовши в стан очікування (чи ж станеться помилка,
чи процес завершиться). У системах з абсолютними пріоритетами
виконання активного процесу переривається ще при одній умові:
якщо в черзі готових процесів з’явився процес, пріоритет якого
вище пріоритету активного процесу. У цьому випадку перерваний
процес переходить у стан готовності.
У багатьох операційних системах алгоритми планування
побудовані з використанням як квантування, так і пріоритетів.
Наприклад, в основі планування лежить квантування, але величина
кванта і / або порядок вибору процесу з черги готових визначається
пріоритетами процесів.
Витісняючі і невитісняючі алгоритми планування
Існує два основних типи процедур планування процесів -
витісняючі (divemptive) і не витісняючі (non-divemptive).
Non-divemptive multitasking - невитісняюча багатозадачність -
це спосіб планування процесів, при якому активний процес
виконується до тих пір, поки він сам, з власної ініціативи, не
віддасть управління планувальнику операційної системи для того,
щоб той вибрав з черги інший, готовий до виконання процес.
Preemptive multitasking - витісняюча багатозадачність - це такий
спосіб, при якому рішення про переключення процесора з
виконання одного процесу на виконання іншого процесу
приймається планувальником ОС, а не активним завданням.
30