Skip to main content

Multi Level Queue Scheduling (MLQ)

 

Multi Level Queue Scheduling (MLQ)

·         Multilevel queue scheduling classifies the processes according to their types for example, a multilevel queue scheduling algorithm makes a common.

·         In this scheduling ready queue is divided into various queue that are called sub queues. A subqueue is a distinct operational queue

·         The process are permanently assigned to subqueues, generally based on some property of the process such as memory size,priority or process type

·         Each subqueue has its process sucheduling algorithm. For example interactive process at the foreground may use round robin scheduling while batch jobs at the background may use the FCFS method

·         For example, consider a system with four different queues

1.       System processes

2.       Interactive processes

3.       End-user processes

4.       Interactive processes

·         In this example, each queue has absolute priority absolute over low priority queues. No process in a batch queue could run unless the queue for system process and interactive processes were all empty.

·         If an interactive process entered the ready queue while a batch process was running the batch process would be preempted. For example,solaries 2 operating system uses this form of algorithm

Example Problem : 
Consider below table of four processes under Multilevel queue scheduling.Queue number denotes the queue of the process. 

 

Priority of queue 1 is greater than queue 2. queue 1 uses Round Robin (Time Quantum = 2) and queue 2 uses FCFS. 

Below is the gantt chart of the problem : 

 



At starting both queues have process so process in queue 1 (P1, P2) runs first (because of higher priority) in the round robin fashion and completes after 7 units then process in queue 2 (P3) starts running (as there is no process in queue 1) but while it is running P4 comes in queue 1 and interrupts P3 and start running for 5 second and after its completion P3 takes the CPU and completes its execution. 

Advantages:

  • The processes are permanently assigned to the queue, so it has advantage of low scheduling overhead.

Disadvantages:

  • Some processes may starve for CPU if some higher priority queues are never becoming empty.
  • It is inflexible in nature.

 

 

 

Comments

Popular posts from this blog

Thread

Thread What is Thread? A thread is a flow of execution through the process code, with its own program counter that keeps track of which instruction to execute next, system registers which hold its current working variables, and a stack which contains the execution history. A thread shares with its peer threads few information like code segment, data segment and open files. When one thread alters a code segment memory item, all other threads see that. A thread is also called a  lightweight process . Threads provide a way to improve application performance through parallelism. Threads represent a software approach to improving performance of operating system by reducing the overhead thread is equivalent to a classical process. Each thread belongs to exactly one process and no thread can exist outside a process. Each thread represents a separate flow of control. Threads have been successfully used in implementing network servers and web server. They also provide a suitable foundation ...

Distributed system

  Distributed system ·           A distributed system is a collection of processor located in geographical dispersal physical location. ·           In this system, the workhold is distributed or divided between two or more computers that are linked together by communication network . that is the different processors communicate using communication links, such as telephone lines and buses3 ·           The various processors do not share memory, clock ,or peripheral devices instead each processors has its local memory. ·           The purpose of distributed system is to provide an efficient and convenient environment for sharing of resources. ·           Some example of distributed operating system are amoeba, angle, chorus, much, alpha kernel. ·   ...

Layered Operating System

  Layered Operating System Layered Structure is a type of system structure in which the different services of the  operating system  are split into various layers, where each layer has a specific well-defined task to perform . It was created to improve the pre-existing structures like the Monolithic structure ( UNIX ) and the Simple structure ( MS-DOS ). Example –  The Windows NT operating system uses this layered approach as a part of it . Design Analysis : The whole Operating System is separated into several layers ( from 0 to n ) as the diagram shows. Each of the layers must have its own specific function to perform. There are some rules in the implementation of the layers as follows. The outermost layer must be the User Interface layer. The innermost layer must be the Hardware layer. A particular layer can access all the layers present below it but it cannot access the layers present above it. That is layer n-1 can access all the layers from n-2 to 0 but it canno...

Classification of Operating System

  Classification of operating systems The operating systems may be classified into different types depending upon the nature of interaction between the user and his/her program. The various types of operating system are : 1.       single user operating system    2.        Multi user operating system   3.         Batch processing operating system 4.        Multi programming operating system   5.       Multi tasking operating system   6.         Multiprocessing operating system 7.         Time sharing operating system 8.       Real time system      Distributed system Multi threading operating system       Single user operating system ·          ...