Multi-level queue scheduling was created for situation in which processes are easily classified into different groups. In multilevel queue Processes are divided into different queue based on their type.
Process are permanently assigned to one queue, generally based on some property of process i.e. system process, interactive, batch system, end user process, memory size, process priority and process type. Each queue has its own scheduling algorithm.
For example, interactive process may use round robin scheduling method, while batch job uses the FCFS method.
In addition, there must be scheduling among the queue and is generally implemented as fixed priority preemptive scheduling. Foreground process may have higher priority over the background process.