Skip to main content

Multilevel Feedback queue scheduling (MFQ)

 

Multilevel Feedback queue scheduling (MFQ)

·         Multilevel feedback queue scheduling is an enhancement of multi-levelqueue scheduling. In this scheme, processes can move between the different queue

·         The various processes are separates in different queue on the basis of their CPU Burst Char characteristics

·         If a process consumes a lot of CPU time , it is placed into a lower priority queue. Thus I/O bound and interactive process are placed in the higher priority queue and CPU bound pricesses are in lower priority

·         If a processes waits too long in a lower priority queue it is moved higher priority queue. Such an aging prevents starvation.

·         The top priority queue is given smallest CPU time Quantum

·         If the quantum expires before the process voluntarily relinquishes the CPU, the process is placed at the back of the next lower queue.

·         In many multi-level feedback schemes, the quantum gives too the process as it moves to each lower level queue become larger

·         Whenever any new process arrives un the top queue, the running process in FCFS queue is preempted as it has lower priority.

·         Any process that spends an amount of elpsed time exceeding the aging interval will be promoted to the next higher priority queue.

·         These parameters makes system both flexible and complex. These parameters are:

1.       The number of queues.

2.       The scheduling algorithm for each queue

3.       The time slice associated with each queue

4.       The condition that will couse a process to move downward into a lower priority queue

5.       The condition that will couse and process to move upward into the hiher priority queue.

6.       The mechanism for detremaining which queue a new process should enter into

7.       Whether arrival of a process into high level queurrrrre will preempt a process from a lower level queue

 Example – 

Consider a system which has a CPU bound process, which requires the burst time of 40 seconds.The multilevel Feed Back Queue scheduling algorithm is used and the queue time quantum ‘2’ seconds and in each level it is incremented by ‘5’ seconds.Then how many times the process will be interrupted and on which queue the process will terminate the execution? 

Solution – 
Process P needs 40 Seconds for total execution. 
At Queue 1 it is executed for 2 seconds and then interrupted and shifted to queue 2. 
At Queue 2 it is executed for 7 seconds and then interrupted and shifted to queue 3. 
At Queue 3 it is executed for 12 seconds and then interrupted and shifted to queue 4. 
At Queue 4 it is executed for 17 seconds and then interrupted and shifted to queue 5. 
At Queue 5 it executes for 2 seconds and then it completes. 
Hence the process is interrupted 4 times and completes on queue 5. 

Advantages:

  1. It is more flexible.
  2. It allows different processes to move between different queues.
  3. It prevents starvation by moving a process that waits too long for lower priority queue to the higher priority queue.

Disadvantages:

  1. For the selection of the best scheduler, it require some other means to select the values.
  2. It produces more CPU overheads.
  3. It is most complex algorithm.

Comments

Popular posts from this blog

Batch Processing Operating System

  Batch processing system ·           Batch processing is one of the oldest method    of running the programs ·           The computer in the past were very large in size and their I/O devices were very different from those that are used today. The job processing was not interactive as it is today. ·           The user did not interact directly with computer system.   ·           The process scheduling , memory management, file management and I/Omanagement functions are quite simple in batch processing system   1.         Process scheduling (i.e. allocation strategy for a processor is typically in order of their arrival i.e. first come first served(FCFS)basis.   2.         Memory management  is done by divi...

Multi threading operating system

  Multi threading  operating system ·           Multi threading is a technique in which a process, executing an application is divided into threads that can run concurrently ·           A thread is a dispatch able unit of work. It includes    a processor context and its own data area for sack . ·           A thread execute sequentially and is interruptible so that the processor can turn to another thread. ·           Thus, a thread represents a light weight process and is the smallest unit of CPU utilization it is like a mini process. ·           A process, on other hand is a collection of one or more threads and associated system resources ·           A thread is not a process by itself. Cannot run on...

Multi processing system

  Multi processing system ·           Multi processesor system is the sytem that contain two or more processors or CPUS and has ability to simultaneously execute     several programs. Hence the name multi-processor In such a system, multiple processor share the clock, bus, memory and peripheral devices. ·           A multi processor system is also known as parallel system ·           Multi processor system are categorized into two different types:                single user operating system    2.        Multi user operating system   3.         Batch processing operating system 4.        Multi programming operating system   5.       Multi tasking operating sy...

Defination of OS(operating system) and its concepts

    What do you mean by operating system?     Definition :  An operating system is a program that act as an interface between the user of a computer and the                                      Computer hardware. Operating system is a first program that gets loaded into the memory through a process called booting. Concepts of operating system : ·                       The purpose of operating system is to provide an environment in which a user can execute program in a convenient and efficient manner. ·                       Operating system is an integrated set of program that ma...