Algoritma
SJF adalah suatu kasus khusus dari penjadwalan
berprioritas. Tiap-tiap proses dilengkapi dengan nomor prioritas
(integer). Jika beberapa proses memiliki prioritas yang sama, maka akan
digunakan algoritma FCFS. Jika ada proses P1 yang datang pada saat P0 sedang
berjalan, maka akan dilihat prioritas P1. Seandaynya prioritas P1 lebih besar
dibanding dengan prioritas P0, disebut algoritama non-preemptive, algoritma
tetap akan menyelesaikan P0 sampai habis CPU burst-nya, dan meletakkan P1 pada
head quence. Sedangkan pada preemptive, P0 akan dihentikan dulu, dan CPU ganti
dialokasikan untuk P1. Misalnya terdapat lima proses P1,P2,P3, dan P4 yang
datang secara berurutan dengan CPU burst dengan milidetik.
·
Penjadwalan
dengan prioties preemptive berdasarkan prioritas size yang lebih besar
Proses
|
Arrival Time
|
Burst Time
|
Size (kb)
|
P1
|
0
|
10
|
100 kb
|
P2
|
2
|
8
|
150 kb
|
P3
|
3
|
12
|
175 kb
|
P4
|
5
|
5
|
100 kb
|
Cpu
|
P1=2
|
P2=1
|
|
P3=12
|
P2=7
|
P1=8
|
P4=5
|
RQ
|
|
|
|
|
|
|
|
0 2
3 5
15 22 30 35
P1(10) P2(8) P3(12)
P1(5)
P2(7) P1(8) P4(5)
P1(8) P1(8) P1(5) P1(8) P4(5)
P2(7) P4(5)
Waiting
time dari proses diatas adalah sebagai berikut :
P1 = 0 + ( 22 + 2 ) = 20
P2= ( 2 – 2 ) + ( 15 + 3
) = 12
P3= ( 3 – 3 ) = 0
P4= ( 30 - 5 ) = 25 +
= 57
Waktu tunggu rata-rata =
57/4 = 14,25 satuan waktu
·
Penjadwalan
dengan priorities Non preemptive
Proses
|
Arrival Time
|
Burst Time
|
Size (kb)
|
1
|
0
|
10
|
100 kb
|
2
|
2
|
8
|
150 kb
|
3
|
3
|
12
|
175 kb
|
4
|
5
|
5
|
125 kb
|
Berdasarkan
kapasitas size yang lebih besar
Gantt
chart
P1=10
|
P3=12
|
P2=8
|
P4=5
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 2 3
5 1 2 3 3
0 2 0 5
P1(10) P2(8) P3(12)
P4(5) P3(12) P2(8) P4(5)
P2(8) P4(5)
P4(5)
Waktu
tunggu untuk masing-masing proses diatas adalah :
P1 = 0 = 20
P2= ( 22 – 2 ) = 12
P3= ( 10– 3 ) = 0
P4= ( 30 - 5 ) = 25 +
= 52
Waktu tunggu rata-rata =
52/4 = 13 satuan waktu
0 comments:
Post a Comment