·
When processes can be readily categorized,
then multiple separate queues can be established, each implementing whatever
scheduling algorithm is most appropriate for that type of job, and/or with
different parametric adjustments.
·
Scheduling must also be done between
queues, that is scheduling one queue to get time relative to other queues. Two
common options are strict priority (no job in a lower priority queue runs until
all higher priority queues are empty) and round-robin (each queue gets a time
slice in turn, possibly of different sizes.)
·
Note that under this algorithm jobs cannot
switch from queue to queue – Once they are assigned a queue, that is their queue
until they finish.
Multilevel queue scheduling
Multilevel Feedback-Queue
Scheduling
·
Multilevel feedback queue scheduling is
similar to the ordinary multilevel queue scheduling described above, except
jobs may be moved from one queue to another for a variety of reasons:
Ø If
the characteristics of a job change between CPU-intensive and I/O-intensive,
then it may be appropriate to switch a job from one queue to another.
Ø Aging
can also be incorporated so that a job that has waited for a long time can get
bumped up into a higher priority queue for a while.
·
Multilevel feedback queue scheduling is
the most flexible because it can be turned for any situation. But it is also
the most complex to implement because of all the adjustable parameters. Some of
the parameters which define one of these systems include:
Ø The
number of queues.
Ø The
scheduling algorithm for each queue.
Ø The
methods used to upgrade or demote processes from one queue to another. (Which
may be different.)
Ø The method used to determine which queue a process enters initially.
Post a Comment