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

Scheduling Algorithms

     Scheduling Algorithms CPU scheduling algorithm deal with the problem of deciding which of the processes in the ready queue is to be allocated the CPU . six commonly used scheduling algorithms are: 1. first-come First-served(FCFS) 2. Shortest job First(SJF) 3. Priority scheduling 4. Round-Robin Scheduling(RR) 5. Multi-Level Queue Scheduling(MLQ) 6. Multi-Level Feedback Queue Scheduling (MFQ)       First-Come First-Served Scheduling (FCFS) ·       It is simplest and the most straight forward of all scheduling algorithms. ·       In this scheduling, the process that request the CPU first is allocated CPU first. Thus   the name first come first served. ·       We can say that in FCFS scheduling, a process is allocated CPU time according to the arrival time of a process. ·       The implementation of FCFS policy is easily manged with a FIFO queue...

Exokernel architecture

Exokernel architecture Most of us know what kernels are and how do they work to make programmers’ lives easier. But, how many of us know what exokernels are? I hope you will be able to get a brief introduction on this terminology through this blog. Let’s start with a brief introduction on kernel. What is a kernel? A kernel is the foundational layer of an operating system that functions at a basic level, communicating with hardware and managing resources, such as CPU and the memory. It works as an interface between the user application and the hardware. There   are two main types of kernel 1. Micro kernel 2. Monolithic Kernel 1.  Monolithic architecture 2.      Layerd archtecture . 3.       Virtual machine architecture 4.       Exokernel architecture 5.      Client server architecture   6.       Micro kernel architecture Now let’s head into our main focus. What is an Exokern...

What is RAM and Why is it Important?

  What is RAM and Why is it Important? Random access memory (RAM) is a computer's short-term memory. None of your programs, files, or Netflix streams would work without RAM, which is your computer’s working space. But what is RAM exactly? In this article, we explain what RAM means in computer terms and why it’s important. What does RAM stand for? RAM is short for “random access memory” and while it might sound mysterious, RAM is one of the most fundamental elements of computing. RAM is the super-fast and temporary data storage space that a computer needs to access right now or in the next few moments. What is RAM and Why is it Important? Random access memory (RAM) is a computer's short-term memory. None of your programs, files, or Netflix streams would work without RAM, which is your computer’s working space. But what is RAM exactly? In this article, we explain what RAM means in computer terms and why it’s important. What does RAM stand for? RAM is short for “random access memo...

Multi user Operating System

  Multi user operating system ·           In a multi-user operating system, multiple number of user can access different resources of a computer at a same time. ·           The access is provided using a network that consists of various personal computer attached to a mainframe computer system.                                                              diagram of multi -user operating system       ·           The various personal computer can send and receive information to mainframe computer system. ·           The example    of multi-user OS are UNIX, windows 2000,novell netware.            sing...

System structure operating architecture

  System structure operating  architecture An operating system is a construct that allows the user application programs to interact with the system hardware. Since the operating system is such a complex structure, it should be created with utmost care so it can be used and modified easily. An easy way to do this is to create the operating system in parts. Each of these parts should be well defined with clear inputs, outputs and functions. Simple Structure There are many operating systems that have a rather simple structure. These started as small systems and rapidly expanded much further than their scope. A common example of this is MS-DOS. It was designed simply for a niche amount for people. There was no indication that it would become so popular. An image to illustrate the structure of MS-DOS is as follows − It is better that operating systems have a modular structure, unlike MS-DOS. That would lead to greater control over the computer system and its various applications. T...