Jump to content

Multilevel feedback queue

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 193.1.100.102 (talk) at 10:25, 6 May 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

The multilevel feedback queue was designed by Kleinrock in 1970 to meet the following design requirements for multimode systems:

  1. Give preference to short jobs.
  2. Give preference to I/O bound processes.
  3. Quickly establish the nature of a process and schedule the process accordingly.


Multiple FIFO queues are used and the operation is as follows;

  1. A new process is positioned at the end of the top-level FIFO queue.
  2. At some stage the process reaches the head of the queue and is assigned the CPU.
  3. If the process completed it leaves the system.
  4. 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.
  5. If the process uses all the quamtum time, it is pre-empted and positioned at the end of the next lower level queue.
  6. 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.