Multilevel feedback queue
Appearance
The multilevel feedback queue was designed by Kleinrock in 1970 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 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 quamtum 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.
- Note that 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.