CREATE OWN LIBRARY

Multi-level queue scheduling

 

Multiple-level queues isn’t really a separate scheduling algorithm but work in conjunction with several of the scheduling schemes already discussed and are found in systems with jobs that can be grouped according to a common characteristic. 

 

A multilevel queue scheduling algorithm partitions the ready queue into several separate queues (Fig: 18). Processes are permanently assigned to one queue as per group, based on some property of the process, such as memory size, process priority, or process type. 

 

Note: Process type means there are generally two types of processes foreground (interactive) processes and background (batch) processes. These two types of processes have different response-time requirements and so may have different scheduling needs. In addition, foreground processes may have priority (externally defined) over background processes.

 

Each queue has its own scheduling algorithm. For example, separate queues might be used for foreground and background processes.

 

Scheduling among the queues has been implemented as fixed-priority preemptive scheduling.

 

Fig: 18 

 

Advantages: Different type of process has different scheduling algorithm, as per requirement.

 

Disadvantages: Lowest priority process gets starvation for the higher priority process because here priority is static.