Що таке попереднє планування?
Попереднє планування - це метод планування, де завдання в основному призначаються з їх пріоритетами. Іноді важливо виконати завдання з вищим пріоритетом перед іншим завданням з нижчим пріоритетом, навіть якщо завдання з нижчим пріоритетом все ще виконується.
У той час завдання з нижчим пріоритетом тримається деякий час і відновлюється, коли завдання з вищим пріоритетом закінчує своє виконання.
У цьому посібнику з операційної системи ви дізнаєтесь:
- Що таке попереднє планування?
- Що таке непередбачуване планування?
- Різниця між попереджувальним та невипереджувальним плануванням в ОС
- Переваги попереджувального планування
- Переваги непередбачуваного планування
- Недоліки попереджувального планування
- Недоліки непередбачуваного планування
- Приклад непередбачуваного планування
- Приклад попереджувального планування
Що таке непередбачуване планування?
У цьому типі методу планування ЦП було виділено для певного процесу. Процес, який робить CPU зайнятим, звільняє CPU або перемикаючи контекст, або завершуючи.
Це єдиний метод, який можна використовувати для різних апаратних платформ. Це тому, що йому не потрібно спеціалізоване обладнання (наприклад, таймер), як попереджувальне планування.
Непередувальне планування відбувається, коли процес добровільно переходить у стан очікування або завершується.
Різниця між попереджувальним та невипереджувальним плануванням в ОС
Тут наведено попереджувальне та невипереджувальне планування в ОС
Попереджувальне планування | Непередувальне планування |
Процесор може бути попереджений для виконання різних процесів в середині будь-якого поточного виконання процесу. | Як тільки процесор розпочне своє виконання, він повинен закінчити його перед виконанням іншого. Не можна робити паузу посередині. |
Використання центрального процесора є більш ефективним у порівнянні з невипереджувальним плануванням. | Використання центрального процесора є менш ефективним порівняно з попереджувальним плануванням. |
Час очікування та відповіді на попереджувальне планування менше. | Час очікування та відгуку методу непередбачуваного планування вищий. |
Попереджувальне планування має пріоритет. Процес найвищого пріоритету - це процес, який використовується зараз. | Коли будь-який процес переходить у стан запущеного, стан цього процесу ніколи не видаляється із планувальника, поки він не закінчить своє завдання. |
Попереднє планування є гнучким. | Непередбачувальне планування жорстке. |
Приклади: - Найперший час, що залишився, Раунд Робін тощо. | Приклади: Перший приходить першим, найкоротше завдання першим, планування пріоритетів тощо. |
Алгоритм попереджувального планування може бути попереджений, тобто процес може бути запланований | У процесі попереднього планування планування не може бути запланованим |
У цьому процесі ЦП виділяється процесам на певний проміжок часу. | У цьому процесі ЦП виділяється процесу, доки він не завершиться або не перейде в стан очікування. |
Попереджувальний алгоритм має накладні витрати на переключення процесу з готового стану в робочий стан і навпаки. | Непередувальне планування не має таких накладних витрат на переключення процесу із запуску у стан готовності. |
Переваги попереджувального планування
Ось плюси / переваги методу попереджувального планування:
- Попереджувальний метод планування є більш надійним, підхід, тому один процес не може монополізувати ЦП
- Вибір запущеного завдання переглядався після кожного переривання.
- Кожна подія спричиняє переривання запущених завдань
- ОС гарантує, що використання процесора однакове у всіх запущених процесах.
- При цьому використання ЦП однакове, тобто всі запущені процеси будуть використовувати ЦП однаково.
- Цей метод планування також імпровізує середній час відгуку.
- Попереджувальне планування корисно, коли ми використовуємо його для середовища багатопрограмування.
Переваги непередбачуваного планування
Ось плюси / переваги методу непередбачуваного планування:
- Пропонує накладні витрати за низьким графіком
- Як правило, пропонує високу пропускну здатність
- Це концептуально дуже простий метод
- Менше обчислювальних ресурсів потрібно для планування
Недоліки попереджувального планування
Ось мінуси / недоліки методу попереджувального планування:
- Потрібні обмежені обчислювальні ресурси для планування
- Планувальнику потрібно більше часу для призупинення запущеного завдання, перемикання контексту та відправлення нового вхідного завдання.
- Процес, який має низький пріоритет, повинен зачекати довше, якщо деякі високопріоритетні процеси надходять постійно.
Недоліки непередбачуваного планування
Ось мінуси / недоліки методу непередбачуваного планування:
- Це може призвести до голоду, особливо для тих завдань у режимі реального часу
- Помилки можуть спричинити замерзання машини
- Це може ускладнити планування в режимі реального часу та пріоритетів
- Низький час реакції процесів
Приклад непередбачуваного планування
У непередбачуваному плануванні SJF, як тільки цикл процесора виділяється для обробки, процес утримує його до досягнення стану очікування або завершення.
Розглянемо наступні п’ять процесів, кожен із яких має свій унікальний час сплеску та час прибуття.
Черга процесів | Час сплеску | Час прибуття |
P1 | 6 | 2 |
P2 | 2 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
Крок 0) У момент = 0, P4 прибуває і починає виконання.
Крок 1) Час = 1, приходить процес P3. Але, P4 все ще потребує 2 одиниць виконання для завершення. Це продовжить виконання.
Крок 2) У момент = 2, процес P1 надходить і додається до черги очікування. Р4 продовжить виконання.
Крок 3) У момент = 3 процес P4 завершить своє виконання. Порівнюється час сплеску P3 та P1. Процес P1 виконується, оскільки час його спалаху менше, ніж у P3.
Крок 4) В момент = 4, процес P5 надходить і додається до черги очікування. Р1 продовжить виконання.
Крок 5) В момент = 5, процес P2 надходить і додається до черги очікування. Р1 продовжить виконання.
Крок 6) У момент = 9 процес P1 завершить своє виконання. Порівнюється час сплеску P3, P5 та P2. Процес P2 виконується, оскільки час його спалаху є найменшим.
Крок 7) У момент = 10, P2 виконується, а P3 і P5 знаходяться в черзі очікування.
Крок 8) У момент = 11 процес P2 завершить своє виконання. Порівнюється час сплеску P3 та P5. Процес P5 виконується, оскільки час його спалаху менший.
Крок 9) За час = 15 процес P5 завершить своє виконання.
Крок 10) В момент часу = 23 процес P3 завершить своє виконання.
Крок 11) Обчислимо середній час очікування для наведеного вище прикладу.
Wait timeP4= 0-0=0P1= 3-2=1P2= 9-5=4P5= 11-4=7P3= 15-1=14Average Waiting Time= 0+1+4+7+14/5 = 26/5 = 5.2
Приклад попереджувального планування
Розглянемо це наступними трьома процесами в Round-robin
Черга процесів | Час сплеску |
P1 | 4 |
P2 | 3 |
P3 | 5 |
Крок 1) Виконання починається з процесу P1, який має час, що спливає 4. Тут кожен процес виконується протягом 2 секунд. P2 і P3 все ще в черзі очікування.
Крок 2 ) У момент = 2, P1 додається до кінця черги, і P2 починає виконуватися
Крок 3) В момент часу = 4, Р2 виключається і додається в кінці черги. P3 починає виконуватися.
Крок 4) В момент часу = 6, P3 виключається і додається в кінці черги. P1 починає виконуватися.
Крок 5) У момент часу = 8, час P1 має час сплеску 4. Він завершив виконання. P2 починає виконання
Крок 6) P2 має час сплеску 3. Він вже виконаний за 2 інтервали. У момент = 9, Р2 завершує виконання. Потім P3 починає виконання до завершення.
Крок 7) Обчислимо середній час очікування для наведеного вище прикладу.
Wait timeP1= 0+ 4= 4P2= 2+4= 6P3= 4+3= 7
КЛЮЧОВІ ВІДМІННОСТІ
- У режимі попереджувального планування центральний процесор призначається процесам протягом певного періоду часу, а не попереджувальний планувальник - процесору, поки він не закінчується.
- У режимі попереджувального планування завдання змінюються залежно від пріоритету, тоді як не попереджувальне планування не перемикається.
- Попереджувальний алгоритм має накладні витрати на переключення процесу з готового стану в робочий стан, тоді як Непередувальне планування не має таких накладних витрат на перемикання.
- Попереджувальне планування є гнучким, а невипереджувальне планування жорстким.