Algoritma ini
merupakan algoritma penjadwalan yang paling sederhana yang digunakan
CPU. Dengan menggunakan algoritma ini setiap proses yang berada pada
status ready
dimasukkan kedalam FIFO
queue
atau antrian dengan prinsip first
in first out,
sesuai dengan waktu kedatangannya. Proses yang tiba terlebih dahulu
yang akan dieksekusi.
Contoh
Ada tiga buah proses
yang datang secara bersamaan yaitu pada 0 ms, P1 memiliki burst time
24 ms, P2 memiliki burst time 3 ms, dan P3 memiliki burst time 3 ms.
Hitunglah waiting
time
rata-rata dan turnaround
time(
burst
time + waiting time)
dari ketiga proses tersebut dengan menggunakan algoritma FCFS.
Waiting
time
untuk P1 adalah 0 ms (P1 tidak perlu menunggu), sedangkan untuk P2
adalah sebesar 24 ms (menunggu P1 selesai), dan untuk P3 sebesar 27
ms (menunggu P1 dan P2 selesai).
Urutan kedatangan
adalah P1, P2 , P3; gantt
chart
untuk urutan ini adalah:
Waiting time
rata-ratanya adalah sebesar(0+24+27)/3 = 17ms. Turnaround
time
untuk P1 sebesar 24 ms, sedangkan untuk P2 sebesar 27 ms (dihitung
dari awal kedatangan P2 hingga selesai dieksekusi), untuk P3 sebesar
30 ms. Turnaround
time
rata-rata untuk ketiga proses tersebut adalah (24+27+30)/3 = 27 ms.
Kelemahan dari
algoritma ini:
- Waiting time rata-ratanya cukup lama.
- Terjadinya convoy effect, yaitu proses-proses menunggu lama untuk menunggu 1 proses besar yang sedang dieksekusi oleh CPU. Algoritma ini juga menerapkan konsep non-preemptive, yaitu setiap proses yang sedang dieksekusi oleh CPU tidak dapat di-interrupt oleh proses yang lain.
Misalkan proses
dibalik sehingga urutan kedatangan adalah P3, P2, P1. Waiting
time
adalah P1=6; P2=3; P3=0. Average
waiting time:
(6+3+0)/3=3.
Tidak ada komentar:
Posting Komentar