• Dalam multiprogramming
– Suatu proses dieksekusi s.d wait untuk I/O, setelah itu
CPU diberikan ke proses lain, dst.
– Membentuk siklus yang terdiri atas
• Sequence eksekusi CPU (CPU burst time)
• Sequence dalam service I/O (I/O burst time)
– Pola distribusi CPU burst time adalah eksponensial atau
bahkan hipereksponensial
Preemptive Non-preemptive
• FCFS Queue
• SJF Queue
• Priority Queue
• Round Robin
• Multi-Level Queue
• Multi-Level Feedback Queue
P1 P2 P3
0 24 27 30
– Waktu tunggu : P1 = 0 ms, P2 = 24 ms, dan P3 = 27 ms
– Average waiting time = (0 + 24 + 27)/3 = 17 ms
• Jika urutannya : P2, P3, P1 maka :
– Gantt Chart
P2 P3 P1
0 3 6 30
– Average waiting time = (6 + 0 + 3)/3 = 3
Sistem Operasi, DGS
Masalah FCFS : “Convoy Effect”
• Kondisi terdapat suatu proses yang memiliki CPU-
burst time besar (CPU bound) dan sejumlah proses
lain dengan I/O burst time yang besar (I/O bound)
– Proses CPU bound sedang hold CPU proses I/O bound
menunggu, I/O device idle
– Proses I/O bound sedang melakukan I/O, proses CPU
bound menunggu, CPU idle
0 3 7 8 12 16
0 2 4 5 7 11 16
P2 P1 P3
0 1 9 10
• Internal
– Bila mungkin, ditentukan berdasarkan indikator terukur
atau estimasinya
• Time limit, memori requirement, jumlah file open, ratio I/O burst
terhadap CPU burst
• External
– Ditentukan berdasarkan kriteria yang eksternal bagi OS
• Tingkat kepentingan proses, charging, super-user (root), dll
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3