Multilevel feedback queue
From Wikipedia, the free encyclopedia
In computer science, a multilevel feedback queue is a scheduling algorithm. It is intended to meet the following design requirements for multimode systems:
- Give preference to short jobs.
- Give preference to I/O bound processes.
- Quickly establish the nature of a process and schedule the process accordingly.
Multiple FIFO queues are used and the operation is as follows:
- A new process is positioned at the end of the top-level FIFO queue.
- At some stage the process reaches the head of the queue and is assigned the CPU.
- If the process is completed it leaves the system.
- If the process voluntarily relinquishes control it leaves the queuing network, and when the process becomes ready again it enters the system on the same queue level.
- If the process uses all the quantum time, it is pre-empted and positioned at the end of the next lower level queue.
- This will continue until the process completes or it reaches the base level queue.
-
-
- At the base level queue the processes circulate in round robin fashion until they complete and leave the system.
-
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.