1. First-Come, First-Served (FCFS)

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

'Простим алгоритмом планування є алгоритм, який прийнято позначати абревіатурою FCFS по перших буквах його англійської назви — First Come, First Served (першим прийшов, першим обслужений). Уявимо собі, що процеси,що знаходяться в стані готовність, організовані в чергу. Коли процес переходить в стан готовність, він, а точніше посилання на його PCB, поміщається в кінець цієї черги. Вибір нового процесу для виконання здійснюється з початку черги з видаленням звідти посилання на його PCB. Черга подібного типу має в програмуванні спеціальне найменування FIFO — скорочення від First In, First Out (першим ввійшов, першим вийшов).

Треба відзначити, що абревіатура FCFS використовується для цього алгоритму планування замість стандартної абревіатури FIFO для механізмів подібного типу для того, щоб підкреслити, що організація готових процесів в чергу FIFO можлива і при інших алгоритмах планування (наприклад, для Round Robin).

Такий алгоритм вибору процесу здійснює планування що не витісняє. Процес, що одержав в своє розпорядження процесор, займає його до закінчення свого поточного CPU burst. Після цього для виконання вибирається новий процес з початку черги.

Перевагою алгоритму FCFS є легкість його реалізації, в той же час він має і багато недоліків. Зміст алгоритму полягає у тому, що середній час очікування і середній повний час виконання для цього алгоритму істотно залежать від порядку розташування процесів в черзі. Якщо у нас є процес з тривалим CPU burst, то короткі процеси, що перейшли в стан готовність після тривалого процесу, дуже довго чекатимуть початку свого виконання. Тому алгоритм FCFS практично непридатний для систем розподілення часу. Дуже великим виходить середній час відгуку в інтерактивних процесах.