Лекція: Планування процесів: алгоритми та стратегії
1. Вступ
Процесор є обмеженим ресурсом, доступним для використання всіма активними процесами в операційній системі (ОС). Щоб забезпечити продуктивну та ефективну роботу, ОС повинна мати механізм, який контролює, як процеси отримують доступ до процесора. Планування процесів вирішує, коли та який процес отримає процесорний час, а також визначає порядок виконання завдань, щоб досягти оптимальної продуктивності системи.
2. Мета планування процесів
Основною метою планування є забезпечення ефективного використання процесора та підтримка якості роботи системи. Це включає такі показники продуктивності, як:
Максимізація продуктивності (через обробку максимально можливої кількості процесів за одиницю часу);
Скорочення часу очікування (мінімізація часу, який процес проводить у черзі очікування);
Мінімізація часу відгуку (швидке реагування на запити від користувачів або завдань);
Оптимальна справедливість (забезпечення справедливого розподілу часу процесора між процесами).
3. Основні алгоритми планування
Розглянемо основні алгоритми планування, які використовуються для досягнення вищевказаних цілей.
3.1. FCFS (First-Come, First-Served)
Цей алгоритм працює за принципом «перший прийшов — перший обслуговується». Процеси обробляються в порядку їх надходження в чергу, і кожен процес продовжує виконання, доки не завершиться.
Переваги: простота реалізації, справедливість (процеси обробляються в порядку надходження).
Недоліки: можливе збільшення середнього часу очікування через тривалі процеси (ефект «конвою»), неефективність у багатозадачних середовищах.
3.2. SJF (Shortest Job First)
SJF надає пріоритет процесам з найкоротшим часом виконання. Якщо процеси мають різну тривалість, SJF дозволяє значно зменшити середній час очікування.
Переваги: зменшує середній час очікування, ефективний для систем з короткими завданнями.
Недоліки: потребує прогнозу часу виконання процесів, що може бути складним; можлива дискримінація довгих процесів (ефект «голодування»).
3.3. Round Robin (RR)
Алгоритм Round Robin надає кожному процесу певний квант часу (часову квоту). Після закінчення квоти процес повертається в чергу, і надається наступному процесу.
Переваги: підтримує справедливість і забезпечує швидкий час відгуку.
Недоліки: підходить не для всіх типів завдань; час кванту сильно впливає на продуктивність (занадто короткий квант збільшує кількість контекстних перемикань, а надто довгий — знижує ефективність багатозадачності).
3.4. Пріоритетне планування
У цьому підході процеси отримують пріоритет, і процесор надається процесу з найвищим пріоритетом. Пріоритет може залежати від зовнішніх факторів або бути визначеним самою ОС.
Переваги: дозволяє задовольнити критично важливі завдання швидше.
Недоліки: процеси з низьким пріоритетом можуть ніколи не отримати доступ до процесора (ефект «голодування»).
3.5. Multilevel Queue (багаторівнева черга)
Цей алгоритм використовує кілька черг з різними пріоритетами. Наприклад, інтерфейсні завдання можуть оброблятися в черзі з високим пріоритетом, а завдання на фоні — в черзі з низьким пріоритетом.
Переваги: підтримує різні типи завдань; можливість налаштування черг для різних класів завдань.
Недоліки: складна реалізація та конфігурація; можливе зниження продуктивності через обмежений доступ до ресурсів для нижніх черг.
3.6. Multilevel Feedback Queue (черга з багаторівневим зворотним зв’язком)
Цей алгоритм є розширенням Multilevel Queue і дозволяє процесам переходити між чергами. Наприклад, якщо процес занадто довго знаходиться в черзі низького пріоритету, він може бути переміщений у чергу вищого пріоритету.
Переваги: гнучкість, дозволяє зменшити ефект «голодування»; адаптивність під різні типи процесів.
Недоліки: складний у налаштуванні та реалізації.
4. Критерії вибору алгоритму планування
Вибір алгоритму планування залежить від специфіки задач, які виконує система. Наприклад:
Системи реального часу часто потребують використання алгоритмів з чітким пріоритетом для підтримки жорстких вимог до часу відгуку.
Інтерактивні системи (де користувач активно працює з системою) зазвичай використовують алгоритми, які забезпечують швидкий час відгуку, наприклад, Round Robin.
Системи пакетної обробки (де завдання запускаються без безпосередньої взаємодії з користувачем) можуть застосовувати FCFS або SJF для оптимізації часу виконання.
5. Переваги та недоліки різних стратегій планування
Простота проти складності: FCFS є простим, але обмеженим, тоді як Multilevel Feedback Queue більш складний, але гнучкіший.
Продуктивність: алгоритми на основі пріоритетів та багаторівневих черг забезпечують ефективний розподіл ресурсів, але потребують ретельного налаштування.
Баланс справедливості: Round Robin забезпечує справедливість, але знижує продуктивність, якщо квант часу неправильно налаштований.
6. Висновок
Алгоритми та стратегії планування є невід'ємною частиною операційної системи. Правильний вибір алгоритму впливає на продуктивність і задоволеність користувачів. ОС може використовувати комбінацію кількох алгоритмів для забезпечення гнучкості та адаптивності, особливо в багатозадачних середовищах з різними типами процесів.
Питання вихідного контролю
Що є основною метою планування процесів в операційній системі?
Назвіть основні алгоритми планування процесів і коротко опишіть один з них.
Які переваги та недоліки має алгоритм SJF?
У чому полягає принцип роботи алгоритму Round Robin?
Який недолік має пріоритетне планування і як його можна усунути?
Що відрізняє алгоритм Multilevel Queue від Multilevel Feedback Queue?
Чому вибір алгоритму планування є важливим для ефективності операційної системи?














