DEV Community

Cover image for Multi Level Queue Scheduling | Operating System - M02 P10
Rahul Mishra
Rahul Mishra

Posted on • Originally published at programmingport.hashnode.dev

Multi Level Queue Scheduling | Operating System - M02 P10

This is a multipart blog article series, and in this series I am going to explain you the concepts of operating system. This article series is divided into multiple modules and this is the second module which consists of 11 articles.

In this article we will that what is multi level queue scheduling in an operating system.

Multi level queue scheduling

  • Till now in this article series you have seen that we are trying to put as much possible process on the ready queue, and then we execute all the process one-by-one.
  • But in real life more than one type of process are present in the operating system, so this concept the earlier concept was not useful in the real life scenario.
  • While in multi level queue there are generally three types of process system process, interactive process and batch process.

Untitled Diagram.png

  • System process has the heights priority in the operating system. For example if a system process like interpret take place then operating system will give it the highest priority and execute it first at any cost.
  • Interactive process has the medium priority in the operating system. For example video playing, coding etc.
  • Batch process has the lowest priority in the operating system, these processes run in the background while we are using our system.
  • So, when there is different type of process than one type of ready queue is useless and not beneficial.
  • That’s why in multi level queue scheduling there is different queue for different process.
  • One more thing that different processes can have different scheduling algorithms, suppose system process follow round robin scheduling algorithm, interactive process can follow shortest job first scheduling algorithm and batch process can follow first come first serve scheduling algorithm.
  • By using this we can allot different process of different type to CPU.
  • But this approach has one problem of starvation, which means suppose if we have many system process then due to the high priority of system process, interactive process and batch process will not get chance to get executed, or they will get executed very late.
  • To solve this problem we can take the help of multilevel feedback queue.

This was all about multi level queue scheduling, to know about multilevel feedback queue please refer to the next article in the series. Hope you liked it and learned something new from it.

If you have any doubt, question, query related to this topic or just want to share something with me, then please feel free to contact me.

πŸ“± Contact Me

Twitter
LinkedInTelegram
Instagram

πŸ“§ Write a mail

rahulmishra102000@gmail.com

πŸš€ Other links

GitHub
HackerRank

Latest comments (0)