Multi-Level Feedback Queue (MFQ)
A MQF is scheduling algorithm with multiple priority levels managed using Round Robin queues, where a task is moved between priority levels based on how much processing time it has used.
Very important
Most commercial operating systems, including Windows, MacOS, and Linux, are variations of this scheduling algorithm. (from the OS book)
- Linux uses the
Priority + round robin
Learned in SE350.
Feedback-Based Scheduling
When a process enters the system, it starts in the highest-priority queue (RQ0). After each preemption, it is demoted to the next lower-priority queue. Short processes complete quickly without descending far, while longer processes drift downward.
Scheduling scheme
- All queues except the lowest use FCFS
- Processes in the lowest queue are handled in a Round Robin until they finish
Figure 9.10 shows the process flow through the queues in this multilevel feedback system, where the OS reallocates processor time based on priority changes.