C. Strategi Penjadwalan
Terdapat
dua strategi penjadwalan, yaitu :
1. Penjadwalan nonpreemptive (run to completion)
Proses
diberi jatah waktu oleh pemroses, maka pemroses tidak dapat diambil alih oleh
proses lain sampai proses itu selesai.
2. Penjadwalan preemptive
Proses
diberi jatah waktu oleh pemroses, maka pemroses dapat diambil alih proses lain,
sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah
waktu pemroses tiba kembali pada proses itu. Berguna pada sistem dimana
proses-proses yang mendapat perhatian/tanggapan pemroses secara cepat, misalnya
:
a.
Pada sistem realtime, kehilangan interupsi (tidak layani segera) dapat berakibat
fatal.
b. Pada
sistem interaktif, agar dapat menjamin waktu tanggap yang memadai. Penjadwalan secara
preemptive baik tetapi harus dibayar mahal. Peralihan proses memerlukan
overhead (banyak tabel yang dikelola). Supaya efektif, banyak proses harus
berada di memori utama sehingga proses-proses tersebut dapat segera running
begitu diperlukan. Menyimpan banyak proses tak running benar-benar di memori
utama merupakan suatu overhead tersendiri.
D. Algoritma-algoritma Penjadwalan
Algoritma-algoritma yang menerapkan strategi nonpreemptive
diantaranya adalah :
- FIFO (First - In , First - Out)
- SJF (Shortest Job First)
- HRN (Highest Ratio Next)
- MFQ (Multiple Feedbak Queues)
Algoritma-algoritma yang menerapkan strategi preemptive
diantaranya adalah :
- RR (Round-Robin)
- SRF (Shortest - Remaining - First)
- PS (Priority Schedulling)
- GS (Guaranteed Schedulling)
Penjadwalan PreEmptiveRound Robin (RR)merupakan
:
-
Penjadwalan yang paling tua, sederhana, adil,banyak digunakan algoritmanya dan
mudah diimplementasikan.
-
Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh penjadwal
berdasarkan lama waktu berjalannya proses (preempt by time).
-
Penjadwalan tanpa prioritas.
-
Berasumsi bahwa semua proses memiliki kepentingan yang sama, sehingga tidak ada
prioritas tertentu.
Semua
proses dianggap penting sehingga diberi sejumlah waktu oleh pemroses yang
disebut kwanta (quantum) atau time slice dimana proses itu berjalan. Jika proses
masih running sampai akhir quantum, maka CPU akan mempreempt proses itu dan
memberikannya ke proses lain. Penjadwal membutuhkannya dengan memelihara daftar
proses dari runnable. Ketika quantum habis untuk satu proses tertentu, maka
proses tersebut akan diletakkan diakhir daftar (list), seperti nampak dalam
gambar berikut ini :
|
Diagram Round Robin |
untuk materi selanjtnya dapat di lihat di alamat :
http://bintangprasetyo.blogspot.com/2013/04/penjadwalan-prosesorr.html
http://www.ekojuli84.blogspot.com/2013/04/algoritma-nonpreemptive-first-in-first.html
http://febi-hediyanto.blogspot.com/2013/04/penjadwalan-proses.html
http://blogayub.blogspot.com/2013/04/metoda-evaluasi-penjadwalan.html
http://titoprasetyo09.blogspot.com/2013/03/multilevel-feedback-queue-scheduling.html