Multilevel Queue Scheduling (MQS)
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.
Dalam hal ini, dapat dilihat bahwa seolah-olah algoritma dengan prioritas yang dasar adalah algoritma multilevel queue dimana setiap queue akan berjalan dengan algoritma FCFS yang memiliki banyak kelemahan. Oleh karena itu, dalam prakteknya, algoritma multilevel queue memungkinkan adanya penerapan algoritma internal dalam masing-masing sub-antriannya yang bisa memiliki algoritma internal yang berbeda untuk meningkatkan kinerjanya.
Berawal dari priority scheduling, algoritma ini pun memiliki kelemahan yang sama dengan priority scheduling, yaitu sangat mungkin bahwa suatu proses pada queue dengan prioritas rendah bisa saja tidak mendapat jatah CPU. Untuk mengatasi hal tersebut, salah satu caranya adalah dengan memodifikasi algoritma ini dengan adanya jatah waktu maksimal untuk tiap antrian, sehingga jika suatu antrian memakan terlalu banyak waktu, maka prosesnya akan dihentikan dan digantikan oleh antrian dibawahnya, dan tentu saja batas waktu untuk tiap antrian bisa saja sangat berbeda tergantung pada prioritas masing-masing antrian.
Multilevel queue scheduling
Penjadwalan multi antrian tingkat diciptakan untuk situasi di mana proses yang mudah diklasifikasikan ke dalam kelompok yang berbeda.
Penjadwalan antrian Multilevel memiliki karakteristik sebagai berikut:
- Proses dibagi ke dalam antrian yang berbeda berdasarkan jenis mereka. Proses secara permanen ditugaskan ke salah satu antrian, umumnya didasarkan pada beberapa properti dari proses yaitu proses sistem, interaktif, sistem batch, akhir proses pengguna, ukuran memori, prioritas proses dan jenis proses.
- Setiap antrian memiliki algoritma penjadwalan sendiri. Misalnya proses interaktif dapat menggunakan metode round robin penjadwalan, sementara pekerjaan batch menggunakan metode FCFS.
Selain itu, harus ada penjadwalan antara antrian dan umumnya diimplementasikan sebagai penjadwalan preemptive prioritas tetap. Proses latar depan mungkin memiliki prioritas yang lebih tinggi selama proses latar belakang
Tidak ada proses dalam antrian batch dapat dijalankan kecuali antrian untuk proses sistem dan proses interaktif semua kosong. Jika proses interaktif memasuki antrian siap sementara proses batch berlari, batch akan mendahului
Proses Scheduling
Multi-level queue algoritma penjadwalan digunakan dalam skenario di mana proses dapat diklasifikasikan ke dalam kelompok berdasarkan properti seperti jenis proses, waktu CPU, akses IO, ukuran memori, dll Salah satu klasifikasi umum dari proses adalah proses foreground dan proses latar belakang. Dalam algoritma penjadwalan antrian multi-level, akan ada 'n' jumlah antrian, di mana 'n' adalah jumlah kelompok proses diklasifikasikan ke dalam. Setiap antrian akan diberikan prioritas dan harus algoritma penjadwalan sendiri seperti Round-robin penjadwalan atau FCFS. Untuk proses dalam antrian untuk mengeksekusi, semua antrian prioritas yang lebih tinggi dari yang seharusnya kosong, berarti proses pada mereka antrian prioritas tinggi harus telah menyelesaikan eksekusinya. Dalam algoritma penjadwalan ini, pernah ditugaskan untuk antrian, proses tidak akan pindah ke setiap antrian lainnya.
Perhatikan tabel berikut dengan waktu kedatangan, jalankan waktu dan jenis proses (foreground atau background - di mana proses latar depan diberikan prioritas tinggi) untuk memahami penjadwalan bertingkat pre-emptive dan pre-emptive non secara mendalam dengan algoritma FCFS untuk kedua antrian:
Sumber http://bagussatriyo11.blogspot.co.id