Що таке планування пріоритетів?
Пріоритетне планування - це метод планування процесів, який базується на пріоритеті. У цьому алгоритмі планувальник вибирає завдання для роботи відповідно до пріоритету.
Процеси з вищим пріоритетом повинні виконуватися спочатку, тоді як роботи з однаковими пріоритетами виконуються на круговій основі або FCFS. Пріоритет залежить від вимог до пам'яті, часу та ін.
У цьому посібнику з операційної системи ви дізнаєтесь:
- Що таке планування пріоритетів?
- Типи планування пріоритетів
- Характеристики планування пріоритетів
- Приклад планування пріоритетів
- Переваги планування пріоритетів
- Недоліки планування пріоритетів
Типи планування пріоритетів
Пріоритетне планування поділяється на два основних типи:
Попереджувальне планування
У превентивному плануванні завдання в основному розподіляються з їх пріоритетами. Іноді важливо виконати завдання з вищим пріоритетом перед іншим завданням з нижчим пріоритетом, навіть якщо завдання з нижчим пріоритетом все ще виконується. Завдання з нижчим пріоритетом тримається деякий час і відновлюється, коли завдання з вищим пріоритетом закінчує своє виконання.
Непереважне планування
У цьому типі методу планування ЦП було виділено для певного процесу. Процес, який робить CPU зайнятим, звільняє CPU або перемикаючи контекст, або завершуючи. Це єдиний метод, який можна використовувати для різних апаратних платформ. Це тому, що воно не потребує спеціального обладнання (наприклад, таймера), як попереджувальне планування.
Характеристики планування пріоритетів
- Алгоритм ЦП, який планує процеси на основі пріоритету.
- Він використовується в операційних системах для виконання пакетних процесів.
- Якщо два завдання, що мають однаковий пріоритет, ГОТОВІ, це працює на основі ПЕРШОГО ПРИХОДУ, ПЕРШОГО СЕРВІСУ.
- При плануванні пріоритетів кожному процесу присвоюється номер, який вказує на рівень його пріоритету.
- Чим менше число, тим вище пріоритет.
- У цьому типі алгоритму планування, якщо надходить новіший процес, який має вищий пріоритет, ніж поточно запущений процес, тоді поточний процес має перевагу.
Приклад планування пріоритетів
Розглянемо наступні п’ять процесів від P1 до P5. Кожен процес має свій унікальний пріоритет, час спалаху та час прибуття.
Процес | Пріоритет | Час сплеску | Час прибуття |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 3 | 0 |
P3 | 1 | 7 | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Крок 0) За час = 0 надходять процеси P1 та P2. P1 має вищий пріоритет, ніж P2. Виконання починається з процесу P1, який триває час 4.
Крок 1) Час = 1, новий процес не надходить. Виконання триває з P1.
Крок 2) Під час 2 новий процес не надходить, тому ви можете продовжити з P1. P2 знаходиться в черзі очікування.
Крок 3) Під час 3 новий процес не надходить, тому ви можете продовжувати з P1. Процес P2 все ще в черзі очікування.
Крок 4) У момент 4 Р1 завершив своє виконання. P2 починає виконання.
Крок 5) Час = 5, новий процес не надходить, тому ми продовжуємо з P2.
Крок 6) В момент = 6, приходить Р3. P3 має вищий пріоритет (1) порівняно з P2, що має пріоритет (2). Р2 випереджається, і Р3 починає своє виконання.
Процес | Пріоритет | Час сплеску | Час прибуття |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 з 3 в очікуванні | 0 |
P3 | 1 | 7 | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Крок 7) На час 7 не надходить новий процес, тому ми продовжуємо з P3. P2 знаходиться в черзі очікування.
Крок 8) За час = 8, новий процес не надходить, тому ми можемо продовжити з P3.
Крок 9) Час = 9, жоден новий процес не з’являється, тому ми можемо продовжувати з P3.
Крок 10) У часовому інтервалі 10 новий процес не надходить, тому ми продовжуємо з P3
Крок 11) У момент = 11, P4 надходить із пріоритетом 4. P3 має вищий пріоритет, тому продовжує своє виконання.
Процес | Пріоритет | Час сплеску | Час прибуття |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 з 3 в очікуванні | 0 |
P3 | 1 | 2 із 7 в очікуванні | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Крок 12) В момент = 12, приходить Р5. P3 має вищий пріоритет, тому продовжує виконання.
Крок 13) В момент часу = 13, P3 завершує виконання. У нас є P2, P4, P5 у готовій черзі. Р2 і Р5 мають однаковий пріоритет. Час прибуття P2 до P5. Тож Р2 починає виконання.
Процес | Пріоритет | Час сплеску | Час прибуття |
---|---|---|---|
P1 | 1 | 4 | 0 |
P2 | 2 | 1 з 3 в очікуванні | 0 |
P3 | 1 | 7 | 6 |
P4 | 3 | 4 | 11 |
P5 | 2 | 2 | 12 |
Крок 14) За час = 14 процес P2 завершив своє виконання. Р4 та Р5 перебувають у стані очікування. P5 має найвищий пріоритет і починає виконання.
Крок 15) В момент часу = 15, P5 продовжує виконувати.
Крок 16) В момент часу = 16, P5 закінчує своє виконання. Р4 - єдиний залишений процес. Починається виконання.
Крок 17) За час = 20, P5 завершив виконання, і жоден процес не залишився.
Крок 18) Обчислимо середній час очікування для наведеного вище прикладу.
Час очікування = час початку - час прибуття + час очікування наступного сплеску
P1 = o - o = oP2 =4 - o + 7 =11P3= 6-6=0P4= 16-11=5Average Waiting time = (0+11+0+5+2)/5 = 18/5= 3.6
Переваги планування пріоритетів
Ось переваги / плюси використання методу планування пріоритетів:
- Простий у використанні метод планування
- Процеси виконуються на основі пріоритету, тому високого пріоритету не потрібно довго чекати, що економить час
- Цей метод забезпечує хороший механізм, коли відносно важливе значення кожного процесу може бути точно визначено.
- Підходить для додатків з коливальними потребами у часі та ресурсах.
Недоліки планування пріоритетів
Тут є мінуси / недоліки планування пріоритетів
- Якщо система врешті-решт виходить з ладу, всі процеси з низьким пріоритетом втрачаються.
- Якщо процеси з високим пріоритетом займають багато часу процесора, тоді процеси з нижчим пріоритетом можуть померти з голоду і будуть відкладені на невизначений час.
- Цей алгоритм планування може залишати деякі процеси з низьким пріоритетом очікуванням нескінченно довго.
- Процес буде заблокований, коли він буде готовий до запуску, але йому доведеться зачекати на центральний процесор, оскільки зараз працює якийсь інший процес.
- Якщо новий процес з більш високим пріоритетом продовжує надходити в черзі готових, тоді процес, що знаходиться в стані очікування, може зажадати тривалий час.
Короткий зміст:
- Пріоритетне планування - це метод планування процесів, який базується на пріоритеті. У цьому алгоритмі планувальник вибирає завдання для роботи відповідно до пріоритету.
- У пріоритетному попереджувальному плануванні завдання в основному розподіляються з їх пріоритетами.
- У методі пріоритетного невипереджувального планування ЦП було виділено для певного процесу.
- Процеси виконуються на основі пріоритету, тому високого пріоритету не потрібно довго чекати, що економить час
- Якщо процеси з високим пріоритетом займають багато часу процесора, тоді процеси з нижчим пріоритетом можуть померти з голоду і будуть відкладені на невизначений час.