Priority Scheduling

PS merupakan algoritma penjadwalan preemptive. Menggunakan PS, setiap proses diberikan nilai prioritas. Nilai Prioritas proses ini dapat bersifat statis ataupun dinamis (beruba terus dari waktu ke waktu). Proses dengan prioritas yang lebih tinggi akan dijadwalkan lebih dahulu. Jika ada proses baru yang masuk dengan prioritas lebih tinggi dari proses yang sedang berjalan maka akan terjadi preemption dan prosesor akan dialihkan ke proses yang baru tersebut.

Guaranteed Scheduling

GS merupakan penjadwalan preemptive menggunakan prioritas dinamis. Jika terdapat N pemakai, setiap pemakai diusahakan senantiasa mendapat (1/N) waktu prosesor. Pada saat terjadi penjadwalan dihitung rasio waktu running semenjak login setiap pemakai dan waktu pemakai prosesor secara keseluruhan. Penjadwal akan menjalankan proses dengan rasio terendah atau dengan kata lain proses yang paling sedikit mendapatkan jatah yang seharusnya.

Multi Level Queues

MLQ merupakan penjadwalan preemptive. Proses-proses dibagi atas group dan ditempatkan pada antrian yang berbeda. Perhatikan pada gambar setiap antrian memiliki prioritas yang berbeda dan jatah waktu eksekusi atau quantum yang berbeda. Algoritma penjadwalan pada masing-masing antrian dapat saja berbeda, misalnya satu antrian menggunakan RR sedangkan antrian lainnya menggunakan FCFS ataupun GS. Sementara algoritma penjadwalan antar antrian dapat menggunakan Priority Scheduling (PS) sedangkan round robin (RR). Jika dengan PS maka seluruh proses pada antrian yang berprioritas lebih tinggi akan dijadwal dahulu sampai selesai semuanya, baru penjadwalan dilakukan pada proses-proses yang berada pada antrian berprioritas lebih rendah berikutnya. Jika dengan RR maka setiap antrian akan mendapatkan jatah penjadwalan secara bergilir. Antrian yang berprioritas lebih tinggi diberi waktu quantum yang lebih lama.

Model Penjadwalan MLQ

MFQ (Multi Level Feedback Queues)

MFQ merupakan algoritma penjadwalan preemptive berprioritas dinamis berdasarkan jumlah quantum time. MFQ menggunakan sejumlah antrian dengan prioritas dan quantum time yang berbeda. Misalnya antrian dengan prioritas tertinggi memiliki quantum time 8ms, sedangkan antrian dengan prioritas berikutnya memiliki quantum time 16ms, dan seterusnya, seperti ditunjukkan pada gambar dibawah ini.

Algoritma MFQ

Suatu proses baru selalu dimasukkan pada antrian berprioritas tertinggi. Jika dalam waktu 1 quantum proses tersebut belum selesai maka proses bersangkutan akan dipindahkan ke antrian berikutnya yang memiliki quantum time yang lebih besar. Jika pada antrian berprioritas lebih tinggi masih terdapat proses maka penjadwalan akan memilih proses tersebut lebih dahulu sampai semuanya selesai ataupun dipindahkan ke antrian level bawahnya.

Pada antrian level paling bawah, proses-prosesnya akan dijadwalankan secara batch dengan FCFS. Variasi algoritma penjadwalan pada masing-masing antrian sangat mungkin dilakukan. Keuntungan algoritma penjadwalan ini adalah, proses yang pendek atau proses baru tidak perlu menunggu proses yang panjang yang sedang berjalan. Proses baru akan segera dieksekusi, dan jika waktu eksekusinya pendek maka proses tersebut akan selesai dalam 1 quantum. Algoritma ini cenderung memberikan nilai response time yang baik serta rerata waiting time yang kecil.