What is Multilevel Queue Scheduling?
In multilevel queue scheduling, all the processes are assigned permanently to the queue at the time of entry. Processes will not move between queues and it may happen that the processes in the queue can be divided into different classes where classes have their own scheduling. For example, interactive process and batch process.
The main advantage of multilevel queue scheduling is that the processes are permanently assigned to the queue.
For example let’s take three different processes:
- System process
- Interactive process
- Batch process
- In system processes the cpu itself has their own process to run which is called system process.
- In an interactive process there should be the same type of interaction.
- Batch processing is a technique of the operating system which collects the programs and data in the form of a batch before the starting of the process.
Multilevel Feedback Queue scheduling:
In multilevel feedback scheduling, the processes are allowed to move in between the queues, the idea behind is to separate the processes with different CPU – burst characteristics.
If any process uses too much CPU then it’ll be moved to the lower priority queue and if a process waiting too much for the CPU is moved to the high priority queue this prevents starvation.
Multilevel feedback queue is the most general scheme and also the most complex.
Advantages of MLFQ:
- MLFQ allows different processes to move between different queues.
- It prevents starvation.
- MLFQ is more flexible.
This article tried to discuss the concept of Multilevel Feedback Queue Scheduling. Hope this blog helps you understand the concept. To practice problems you can check out MYCODE | Competitive Programming at Prepbytes