Multilevel Feedback Queue Scheduling in os is like Multilevel Queue Scheduling. but it changes the priority and the process can move between the process.Unlike multilevel queue scheduling algorithm where processes are permanently assigned to a queue, multilevel feedback queue scheduling allows a process to move between queues.
Multilevel Feedback Queue Scheduling in os
let L1 having the least process, after some time we move the process least priority to L2 and so on, Finally Ln get into the CPU for execution and execute.
how can we move up:- its depend upon the programmer or developer who implemented it.
By using Multilevel Feedback Queue Scheduling we can move the process up and down, by that we can avoid starvation.
we can configure the process in order to match our system.
lower priority process never executes or wait for the long amount of time.
because of lower priority or highest priority process taking a large amount of time.
- the very complex algorithm is used
- Algorithm should be design based on requirement of machine
Multiple first in first out 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 quantum of the given queue, it leaves the system.
- 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.
- 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, 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.