Hi PalComSters, apa kabar?. Ditutorial kali ini kita akan membahas tentang Algoritma penjadwalan proses pada Sistem Operasi. algoritma penjadwalan proses ini terdiri dari berbagai macamseperti : Algoritma First Come First Served Scheduling (FCFS), Shortest Job First Scheduling (SJF), Priority Scheduling, Round Robin Scheduling dan Multilevel Feedback Queue Scheduling. Nah, ditutorial kali ini kita akan membahas tentang Algoritma penjadwalan proses Priority Scheduling.
Algoritma Priority Scheduling ini adalah suatu kasus khusus dari penjadwalan berprioritas. Tiap-tiap proses dilengkapi dengan nomor prioritas (integer). CPU dialokasikan untuk proses yang mempunyai prioritas paling tinggi (nilai integer terkecil biasanya merupakan prioritas terbesar). Nah, kalau beberapa proses memiliki prioritas yang sama, maka akan digunakan algoritma FCFS.
Priority Scheduling ini juga memiliki dua skema :
- non-preemptive
- preemptive
Jika ada proses P1 yang datang pada saat P0 sedang berjalan, maka yang akan dilihat adalah prioritas P1. Tapi seandainya prioritas P1 lebih besar dibanding dengan prioritas P0, maka :
- Pada non-preemptive, algoritma tetap akan menyelesaikan P0 sampai habis CPU burst-nya, dan meletakkan P1 pada posisi head queue.
- Sedangkan pada preemptive, P0 akan dihentikan dulu, dan CPU ganti dialokasikan untuk P1. Misalnya terdapat lima proses P1,P2,P3, P4 dan P5 yang datang secara berurutan dengan CPU burst dalam milidetik.
Diantara satu proses dengan proses yang lain terdapat waktu tunggu, nah, untuk menghitung waktu tunggu tersebut mari kita perhatikan contoh berikut.
CONTOH
Diketahui
Proses | Arrival Time (AT) | Burst Time (BT | Size (kb) |
P1 | 0 | 10 | 100 kb |
P2 | 2 | 8 | 150 kb |
P3 | 3 | 12 | 175 kb |
P4 | 5 | 5 | 100 kb |
Ditanya :
- Berapa lama waktu tunggu untuk setiap proses?
- Berapa lama waktu tunggu rata-rata untuk setiap proses?
Untuk menjawab pertanyaan diatas, maka kita bisa menggunakan Gannt Chart seperti gambar dibawah ini.
Jadi :
Waktu tunggu (waiting time) setiap proses :
Waktu tunggu (waiting time) setiap proses :
- P1 = 0 = 0
- P2 = (22-2) = 20
- P3 = (10-3) = 7
- P4 = (30-5) = 25
========================
- JUMLAH = 52
Jadi, rata-rata waktu tunggu untuk setiap proses adalah.
Avg 52/4 = 13 satuan waktu,
LATIHAN
Baiklah, agar lebih memahami marilah kita menjawab soal latihan berikut :
Diketahui.
Proses | Arrival Time (AT) | Burst Time (BT | Size (kb) |
P1 | 0 | 12 | 120 kb |
P2 | 3 | 6 | 170 kb |
P3 | 4 | 10 | 174 kb |
P4 | 6 | 4 | 100 kb |
Ditanya :
1. Berapa lama waktu tunggu untuk setiap proses?
2. Berapa lama waktu tunggu rata-rata untuk setiap proses?
Silahkan teman-teman jawab sendiri dirumah yaah, Demikianlah tutorial kali ini, semoga bermanfaat, terima kasih atas perhatiannya, selamat mencoba. Sampai jumpa di tutorial selanjutnya. Jika kamu suka artikel ini, bagikan ke te,an-teman kamu ya.
The post Mengenal Algoritma Penjadwalan Proses Priority Scheduling Pada Sistem Operasi appeared first on Student Portal PalComTech.