Алгоритм планування FCFS: Що таке приклад програми
⚡ Розумний підсумок
Планування за принципом «перший прийшов, перший обслужений» запускає процеси в точному порядку їх потрапляння до черги готовності, використовуючи простий невитісняючий підхід FIFO, що робить його найпростішим алгоритмом планування процесора для операційної системи.

Що таке метод «перший прийшов, перший обслужений»?
Перший прийшов, перший подав (FCFS) — це алгоритм планування операційної системи, який автоматично виконує запити та процеси з черги в порядку їх надходження. Це найпростіший та найпростіший алгоритм планування процесора. У цьому типі алгоритму процес, який першим запитує процесор, першим отримує його розподіл. Це керується чергою FIFO. Повна форма FCFS — «перший прийшов, перший обслужений».
Коли процес потрапляє до черги готовності, його плата керування процесом (PCB) пов'язується з хвостом черги. Таким чином, коли процесор звільняється, він призначається процесу на початку черги.
Характеристики методу FCFS
Основні характеристики методу «хто перший прийшов, той перший обслужений» перелічені нижче:
- Це непревентивний алгоритм планування, тобто процес утримує процесор завантаженим, доки не завершить свій пакетний час виконання.
- Завдання завжди виконуються в порядку черги.
- Його легко реалізувати та використовувати.
- Цей метод має низьку ефективність, а загальний час очікування досить великий.
Приклад планування FCFS
Реальним прикладом методу FCFS є купівля квитка в кіно в касі. У цьому алгоритмі планування людина обслуговується відповідно до порядку в черзі. Людина, яка прибуває першою в чергу, купує квиток першою, а потім наступна. Це продовжується доти, доки остання людина в черзі не купить квиток. Використовуючи цей алгоритм, процес CPU працює аналогічним чином.
Як працює FCFS? Розрахунок середнього часу очікування
Щоб зрозуміти, як алгоритм планує процеси, ось приклад п'яти процесів, що надходять у різний час. Кожен процес має різний час пакетної обробки.
| Процес | Час вибуху | Час прибуття |
| P1 | 6 | 2 |
| P2 | 2 | 5 |
| P3 | 8 | 1 |
| P4 | 3 | 0 |
| P5 | 4 | 4 |
За допомогою алгоритму планування FCFS ці процеси обробляються наступним чином.
Крок 1) Процес починається з P4, час прибуття якого дорівнює 0.
Крок 2) У час = 1 надходить P3. P4 все ще виконується. Отже, P3 зберігається в черзі.
Крок 3) У момент часу = 2, P1 прибуває та залишається в черзі.
Крок 4) У момент часу = 3 процес P4 завершує своє виконання.
Крок 5) У момент часу = 4 P3, який є першим у черзі, починає виконання.
Крок 6) У момент часу = 5, P2 прибуває та залишається в черзі.
Крок 7) О моменті часу 11, P3 завершує своє виконання.
Крок 8) О моменті часу 11, P1 починає виконання. Він має час пакетної обробки 6, тому завершує виконання через 17.
Крок 9) О моменті часу = 17, P5 починає виконання. Він має час пакетної обробки 4, тому завершує виконання о моменті часу = 21.
Крок 10) О моменті часу 21, P2 починає виконання. Він має час пакетної обробки 2, тому завершує виконання через 23.
Крок 11) Тепер розрахуємо середній час очікування для наведеного вище прикладу.
Waiting time = Start time - Arrival time
P4 = 0 – 0 = 0
P3 = 3 – 1 = 2
P1 = 11 – 2 = 9
P5 = 17 – 4 = 13
P2 = 21 – 5 = 16
Середній час очікування = (0 + 2 + 9 + 13 + 16) / 5 = 40 / 5 = 8
Переваги FCFS
Ось переваги та переваги використання алгоритму планування FCFS:
- Це найпростіша форма Алгоритм планування ЦП.
- Його легко програмувати.
- Це дотримується прямого порядку «хто перший прийшов, того й обслужили».
Недоліки FCFS
Ось недоліки та недоліки використання алгоритму планування FCFS:
- Це невитісняючий алгоритм планування процесора, тому після того, як процес був виділений процесору, він ніколи не звільнить процесор, доки не завершить виконання.
- Середній час очікування високий.
- Короткі процеси в кінці черги повинні чекати на завершення довгого процесу на початку.
- Це не ідеальний метод для систем розподілу часу.
- Через свою простоту FCFS не дуже ефективний.












