1.shorttes job-first
Pengertian algoritma penjadualan
Shortest-job-first (SJF)
Shortest-job-first (SJF) adalah penggabungan setiap proses merupakan
panjang dari brust CPU berikutnya. Panjang tersebut digunakan untuk penjadwalan
proses pada waktu terpendek.
Terdapat 2skema :
·
Nonpreemtive
(harus diselesaikan)
·
Preemptive
(bisa berhenti ditengah jalan)
Contoh : SJF(non-preemptive)
proses arrival
time burst time
P1 0,0 7
P2 2,0 4
P3 4,0 1
P4 5,0 4
P1
|
P3
|
P2
|
P4
|
0 7 8 12 16
Ø Waiting time : p1 = 0
P3 = 7-4
= 3 (dilihat arrival time)
P2 = 8-2
= 6 (dieksekusi mulai waktu ke-8 tapi datang
waktu ke-2)
P4 =
12-5
= 7 (dieksekusi mulai waktu ke-12 tapi datang
waktu 5)
Ø Average waiting time : 0+6+3+7=16/4=
4
1. Algoritma penjadwalan priority adalah
algoritma penjadwalan yang medahulukan proses yang memiliki prioritas
tertinggi. Algoritma ini juga dapat dijalankan secara preemptive dan non
preemptive.
Contoh :
Proses
|
Burst time
|
Prioritas
|
P1
|
7
|
3
|
P2
|
2
|
4
|
P3
|
3
|
3
|
P4
|
2
|
1
|
P5
|
10
|
2
|
Hitunglah
AWT menggunakan algoritma PS.
Maka gantt
char kedatangan proses :
P4
|
P5
|
P1
|
P3
|
P2
|
0 2 12 19 22 24
Sehingga
waktu tunggu untuk tiap-tiap proses terlihat pada table berikut :
Proses
|
Waiting time
(ms)
|
P1
P2
P3
P4
P5
|
12
22
19
0
2
|
Average
waiting time = (12+22+19+2)/5 = 11 ms.
round Robin
1. Algoritma penjadwalan Round Robin adalah
susunan yang memilih semua elemen pada grup seperti beberapa perintah rasional,
biasanya dari atas sampai kebawah sebuah daftar/susunan dan kembali lagi keatas
dan begitu seterusnya.
Contoh :
proses
|
Burst time
|
P1
|
23
|
P2
|
6
|
P3
|
6
|
Hitunglah
AWT menggunakan algoritma RR dengan Q=3.
Maka gantt
chart kedatangan proses :
P1
|
P2
|
P3
|
P1
|
P2
|
P3
|
P1
|
P1
|
P1
|
P1
|
P1
|
P1
|
0 3 6 9 12 15 18 21 42 27 30 33
35
Waktu tunggu
untuk tiap-tiap proses terlihat pada table berikut :
proses
|
Burst time
(ms)
|
P1
P2
P3
|
0+(9-3)+(18-12)=12
3+(12-6) =9
6+(15-9) =12
|
Average waiting time = (12+9+12)/3 = 11 ms
Multilevel Queue (MQ)
Ide dasar dari algoritma ini berdasarkan
pada sistem prioritas proses. Prinsipnya, jika setiap proses dapat
dikelompokkan berdasarkan prioritasnya, maka akan didapati queue seperti pada gambar berikut:
Dari gambar tersebut terlihat bahwa akan
terjadi pengelompokan proses-proses berdasarkan prioritasnya. Kemudian
muncul ide untuk menganggap kelompok-kelompok tersbut sebagai sebuah
antrian-antrian kecil yang merupakan bagian dari antrian keseluruhan
proses, yang sering disebut dengan algoritma multilevel queue.
MFQ (Multiple Feedback Queue)
Algoritma ini mirip sekali dengan algoritma multilevel queue. Perbedaannya ialah algoritma ini mengizinkan proses untuk pindah antrian. Jika suatu proses menyita CPU terlalu lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah. Hal ini menguntungkan proses interaksi karena proses ini hanya memakai waktu CPU yang sedikit. Demikian pula dengan proses yang menunggu terlalu lama. Proses ini akan dinaikkan tingkatannya. Biasanya prioritas tertinggi diberikan kepada proses dengan CPU burst terkecil, dengan begitu CPU akan terutilisasi penuh dan M/K dapat terus sibuk. Semakin rendah tingkatannya, panjang CPU burst proses juga semakin besar.
Algoritma ini mirip sekali dengan algoritma multilevel queue. Perbedaannya ialah algoritma ini mengizinkan proses untuk pindah antrian. Jika suatu proses menyita CPU terlalu lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah. Hal ini menguntungkan proses interaksi karena proses ini hanya memakai waktu CPU yang sedikit. Demikian pula dengan proses yang menunggu terlalu lama. Proses ini akan dinaikkan tingkatannya. Biasanya prioritas tertinggi diberikan kepada proses dengan CPU burst terkecil, dengan begitu CPU akan terutilisasi penuh dan M/K dapat terus sibuk. Semakin rendah tingkatannya, panjang CPU burst proses juga semakin besar.