October 24, 2017
Multilevel QueueIde dasar dari algoritma ini berdasarkan pada sistem prioritas proses. Prinsipnya, jika setiap proses dapat dikelompokkan berdasarkan prioritasnya, maka akan didapati queue seperti yang dijelaskan pada gambar berikut:
Multilevel Queue |
Dari gambar diatas tersebut terlihat bahwa akan terjadi pengelompokan proses-proses berdasarkan prioritasnya. Kemudian muncul ide untuk menganggap kelompok-kelompok tersebut sebagai sebuah antrian-antrian kecil yang merupakan bagian dari antrian keseluruhan proses, inilah 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 yang bisa dipelajari diartikel sebelumnya " Pembahasan Algoritma 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.
Selengkapnya tentang kelemahan Algoritma Shcheduling bisa dibaca dimasing-masing algoritma:
- FCFS (First Come First Served)
- SJF (Shortes Job First)
- Round Robin.
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.