Multilevel Feedback Queue

In computer science, a multilevel feedback queue is a scheduling algorithm. It is intended to meet the following design requirements for multimode systems:

  1. Give preference to short jobs.
  2. Give preference to I/O bound processes.
  3. Separate processes into categories based on their need for the processor

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 is 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 quantum 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.
  • Optionally, if a process blocks for I/O, it is 'promoted' one level, and placed at the end of the next-higher queue. This allows I/O bound processes to be favored by the scheduler and allows processes to 'escape' the base level queue.

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.

Famous quotes containing the word queue:

    English people apparently queue up as a sort of hobby. A family man might pass a mild autumn evening by taking the wife and kids to stand in the cinema queue for a while and then leading them over for a few minutes in the sweetshop queue and then, as a special treat for the kids, saying “Perhaps we’ve time to have a look at the Number Thirty-One bus queue before we turn in.”
    Calvin Trillin (b. 1940)