In computer science, a multilevel feedback queue is a scheduling algorithm. Scheduling algorithms are designed to have some process running at all times to keep the central processing unit (CPU) busy. The multilevel feedback queue extends standard algorithms with the following design requirements: Separate processes into multiple ready queues based on their need for the processor. Give preference to processes with short CPU bursts. Give preference to processes with high I/O bursts. (I/O bound processes will sleep in the wait queue to give other processes CPU time.) The multilevel feedback queue was first developed by Fernando J. Corbató (1962). For this accomplishment, the Association for Computing Machinery awarded Corbató the Turing Award. Process scheduling Whereas the multilevel queue algorithm keeps processes permanently assigned to their initial queue assignments, the multilevel feedback queue shifts processes between queues. The shift is dependent upon the CPU bursts of prior time-slices. If a process uses too much CPU time, it will be moved to a lower-priority queue. If a process is I/O-bound or an interactive process, it will be moved to a higher-priority queue. If a process is waiting too long in a low-priority queue and starving, it will be aged to a higher-priority queue. Algorithm Multiple FIFO queues are used and the operation is as follows: A new process is inserted at the end (tail) 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 within the time-slice of the given queue, it leaves the system. If the process voluntarily relinquishes control of the CPU, it leaves the queuing network, and when the process becomes ready again it is inserted at the tail of the same queue which it relinquished earlier. If the process uses all the quantum time, it is pre-empted and inserted at the end of the next lower level queue. This next lower level queue will have a time quantum which is more than that of the previous higher level queue. This scheme 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. Processes in the base level queue can also be scheduled on a first come first served basis. Optionally, if a process blocks for I/O, it is 'promoted' one level,