Whereas the multilevel queue algorithm keeps processes permanently assigned to their initial queue assignments, the multilevel feedback queue shifts processes between queues.4 The shift is dependent upon the CPU bursts of prior time-slices.5
Multiple FIFO queues are used and the operation is as follows:
For scheduling, the scheduler always starts picking up processes from the head of the highest-level queue. Only if the highest-level queue has become empty will the scheduler take up a process from the next lower-level queue. The same policy is implemented for picking up in the subsequent lower-level queues. Meanwhile, if a process comes into any of the higher-level queues, it will preempt a process in the lower-level queue.
Also, a new process is always inserted at the tail of the top-level queue with the assumption that it will complete in a short amount of time. Long processes will automatically sink to lower-level queues based on their time consumption and interactivity level. In the multilevel feedback queue a process is given just one chance to complete at a given queue level before it is forced down to a lower-level queue.
In general, a multilevel feedback queue scheduler is defined by the following parameters:7
Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition. Addison-Wesley. p. 131. ISBN 978-0-201-50480-4. 978-0-201-50480-4 ↩
Corbató, Fernando J.; Merwin-Daggett, Marjorie; Daley, Robert C. (1962). "An experimental time-sharing system". Proceedings of the May 1-3, 1962, spring joint computer conference on - AIEE-IRE '62 (Spring). p. 335. doi:10.1145/1460833.1460871. S2CID 14363753. /wiki/Doi_(identifier) ↩
Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. (2014). "Multi-level Feedback Queue". Operating Systems: Three Easy Pieces (PDF). Arpaci-Dusseau Books. https://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched-mlfq.pdf ↩
Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition. Addison-Wesley. p. 147. ISBN 978-0-201-50480-4. 978-0-201-50480-4 ↩
Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition. Addison-Wesley. p. 148. ISBN 978-0-201-50480-4. 978-0-201-50480-4 ↩
Silberschatz, Abraham; Galvin, Peter Baer; Gagne, Greg (2008). Operating system concepts (8th ed.). Hoboken, N.J.: Wiley. p. 198. ISBN 978-0470128725. 978-0470128725 ↩