Алгоритм планування FCFS: Що таке приклад програми
Що таке метод «перший прийшов, перший обслужений»?
Перший прийшов, перший подав (FCFS) це алгоритм планування операційної системи, який автоматично виконує запити в черзі та обробляє їх у порядку їх надходження. Це найпростіший і найпростіший алгоритм планування ЦП. У цьому типі алгоритму процеси, які першими запитують ЦП, першими отримують розподіл ЦП. Це керується за допомогою черги FIFO. Повна форма FCFS – перший прийшов, перший подав.
Коли процес потрапляє в готову чергу, його PCB (блок керування процесом) пов’язується з хвостом черги, і коли ЦП звільняється, його слід призначити процесу на початку черги.
Характеристика методу FCFS
- Він підтримує невипереджувальний і випереджувальний алгоритм планування.
- Завдання завжди виконуються в порядку черги.
- Його легко реалізувати та використовувати.
- Цей метод має низьку ефективність, а загальний час очікування досить великий.
Приклад планування FCFS
Реальним прикладом методу FCFS є покупка квитка в кіно в квитковій касі. У цьому алгоритмі планування особа обслуговується в порядку черги. Першим купує квиток той, хто стоїть першим у черзі, а потім наступний. Це триватиме до тих пір, поки остання особа в черзі не придбає квиток. Використовуючи цей алгоритм, процес центрального процесора працює подібним чином.
Як працює 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 зберігається в черзі.
Процес | Час вибуху | Час прибуття |
---|---|---|
P1 | 6 | 2 |
P2 | 2 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
Крок 3) У момент часу = 2 надходить P1, який зберігається в черзі.
Процес | Час вибуху | Час прибуття |
---|---|---|
P1 | 6 | 2 |
P2 | 2 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
Крок 4) У момент часу = 3 процес P4 завершує своє виконання.
Крок 5) У момент часу = 4 P3, який є першим у черзі, починає виконання.
Процес | Час вибуху | Час прибуття |
---|---|---|
P1 | 6 | 2 |
P2 | 2 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
Крок 6) У момент часу =5 надходить P2, і він зберігається в черзі.
Процес | Час вибуху | Час прибуття |
---|---|---|
P1 | 6 | 2 |
P2 | 2 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
Крок 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
PI = 11-2 = 9
P5= 17-4 = 13
P2= 21-5= 16
Середній час очікування
Переваги FCFS
Ось плюси/переваги використання алгоритму планування FCFS:
- Найпростіша форма а Алгоритм планування ЦП
- Легко програмувати
- Перший прийшов - перший отримав
Недоліки FCFS
Ось недоліки/недоліки використання алгоритму планування FCFS:
- Це алгоритм планування ЦП без випередження, тому після того, як процес буде виділено ЦП, він ніколи не звільнить ЦП, доки не завершить виконання.
- Середній час очікування високий.
- Короткі процеси, які знаходяться в кінці черги, повинні чекати завершення довгого процесу в передній частині.
- Не ідеальна техніка для систем розподілу часу.
- Через свою простоту FCFS не дуже ефективний.
Підсумки
- Визначення: FCFS — це алгоритм планування операційної системи, який автоматично виконує запити в черзі та обробляє їх у порядку їх надходження.
- Він підтримує невипереджувальне та випереджувальне планування
- алгоритм.
- FCFS означає First Come First Serve
- Реальним прикладом методу FCFS є покупка квитка в кіно в квитковій касі.
- Це найпростіша форма алгоритму планування ЦП
- Це алгоритм планування ЦП без випередження, тому після того, як процес буде виділено ЦП, він ніколи не звільнить ЦП, доки не завершить виконання.