Найменший час, що залишився, виконання
Переваги
Переваги
1. Простата
2. Справедливість (як в черзі покупців, хто останній прийшов, той опинився в кінці черги)
Недоліки
3. Процес обмежений можливостями процесора може загальмувати швидші процеси обмежені пристроями введення/висновку.
2 "Найкоротша задача - перша"
Нижня черга збудована з урахуванням цього алгоритму
· Зменшення оборотного часу
· Справедливість (як в черзі покупців, хто без здачі проходить в перед)
Недоліки Довгий процес процесор, що зайняв, не пустить новіші короткі процеси, які пришли пізніше.
Аналог попереднього, але якщо приходить новий процес, його повний час виконання порівнюється з часом виконання поточного процесу, що залишився.
4 Трирівневе планування
Трирівневе планування
Планувальник доступу вибирає завдання оптимальним чином (наприклад: процеси обмежені процесором і введенням/висновком).
Якщо процесів в пам'яті дуже багато, планувальник пам'яті вивантажує і завантажує деякі процеси на диск. Кількість процесів тих, що знаходяться в пам'яті, називається ступенем багатозадачності.
4.3 Планування в інтерактивних системах
4.3.1 Циклічне планування
Найпростіший алгоритм планування і часто використовуваний.
Кожному процесу надається квант часу процесора. Коли квант закінчується процес переводиться планувальником в кінець черги. При блокуванні процесор випадає з черги.
Приклад циклічного планування
· Простата
· Справедливість (як в черзі покупців, кожному тільки по кілограму)
Недоліки
· Якщо часті перемикання (малий квант - 4мс, а час перемикання рівне 1мс), то відбувається зменшення продуктивності.
· Якщо рідкісні перемикання (малий квант - 100мс), то відбувається збільшення часу відповіді на запит.
4.3.2 Пріоритетне планування
Кожному процесу привласнюється пріоритет, і управління передається процесу з найвищим пріоритетом.
Пріоритет може бути динамічний і статичний.
Динамічний пріоритет може встановлюватися так:
П=1/Т, де Т- частина використаного кванта
Якщо використано 1/50 кванта, то пріоритет 50.
Якщо використаний весь квант, то пріоритет 1.
Тобто процеси обмежені вводом/виводом, матимуть пріоритет над процесами обмеженими процесором.
Часто процеси об'єднують по пріоритетах в групи, і використовують пріоритетне планування серед груп, але усередині групи використовують циклічне планування.
Пріоритетне планування 4-х груп
4.3.3 Методи розділення процесів на групи
Групи з різним квантом часу
Спочатку процес потрапляє в групу з найбільшим пріоритетом і найменшим квантом часу, якщо він використовує весь квант, то потрапляє в другу групу і т.д. Щонайдовші процеси опиняються в групі найменшого пріоритету і найбільшого кванта часу.
Процес або закінчує роботу, або переходить в іншу групу
Цей метод нагадує алгоритм - "Найкоротше завдання - перша".
Групи з різним призначенням процесів
Процес що відповідає на запит, переходить в групу з найвищим пріоритетом.
Такий механізм дозволяє підвищити пріоритет роботи з клієнтом.
Гарантоване планування
У системі з n-процесами, кожному процесу буде надано 1/n часу процесора.