Multilevel
Queue Scheduling
A multilevel
queue scheduling algorithm partitions the ready queue in several
separate queues, for instance

In a multilevel
queue scheduling processes are permanently assigned to one
queues. The processes are permanently assigned to one another,
based on some property of the process, such as
Memory
size
Process priority
Process type
Each queue
has its own scheduling algorithm or policy.. Algorithm choose
the process from the occupied queue that has the highest priority,
and run that process either
Preemptive
or
Non-preemptively
Possibility
I : If each queue has absolute priority over lower-priority
queues then no process in the queue could run unless the queue
for the highest-priority processes were all empty.
For example,
in the above figure no process in the batch queue could run
unless the queues for system processes, interactive processes,
and interactive editing processes will all empty.
Possibility
II : If there is a time slice between the queues then each
queue gets a certain amount of CPU times, which it can then
schedule among the processes in its queue. For instance;
80% of
the CPU time to foreground queue using Round Robin (RR).
20% of the CPU time to background queue using FCFS.
Since processes do not move between queue so, this policy
has the advantage of low scheduling overhead, but it is inflexible.
|