Define Multi-level Queue Scheduling and How to Increase CPU Time

Asked By 100 points N/A Posted on -
qa-featured

Please explain Multi-level Queue Scheduling with an example. Also, I need to know the strategy that I need to adopt to increase the CPU time allocated for a particular process?

SHARE
Best Answer by Recorter Qyut
Best Answer
Best Answer
Answered By 5 points N/A #151904

Define Multi-level Queue Scheduling and How to Increase CPU Time

qa-featured

Thank you for your question, to answer you, I will first start by explaining what Scheduling is which is a method by which threads and processes are given access to the system resources. The need for scheduling algorithm arises from the requirement for multitasking and multiplexing.

There are the following scheduling Algorithms;

·         First in First Out (FIFO)

·         Shortest Remaining Time- Shortest job first

·         Fixed priority Preemptive scheduling

·         Round Robin(RR)

·         Multi-level Queue

A multilevel queue system is designed to give preference to short jobs; Give preference to I/O bound processes and separate processes into categories based on their need for the processor. This is what basically happens;

Ø  A process is given just one chance to complete at a given queue level, by partitioning the ready queue into several separate queues

Ø   Processes are permanently assigned to one queue, based on properties of the process such as memory size, process priority, or process type.

Ø  Each queue has absolute priority over lower-priority queues and also each queue has its own scheduling algorithm. The foreground queue might be scheduled by an RR algorithm, while the background queue is scheduled by an FCFS algorithm.

Ø  Moreover, there must be scheduling among the queues, which is commonly implemented as fixed-priority pre-emptive scheduling. For instance, the foreground queue may have absolute priority over the background queue

Having elaborated this, the scheduler’s main concern is Throughput, Latency and Waiting Time hence to know which is the best algorithm to increase the CPU time allocated for a particular process; I have put this together for you.

Scheduling Algorithm

CPU Overhead

Throughput

Turn Around Time

Response Time

First in First out

Low

Low

High

Medium

Shortest Job first

Medium

High

Medium

Medium

Priority based

Medium

Low

High

High

Round Robin

High

Medium

Medium

High

Multilevel Queue

High

High

Medium

Medium

I hope the Multi level queue scheduling is now clear. Thanks.

Answered By 1065 points N/A #151905

Define Multi-level Queue Scheduling and How to Increase CPU Time

qa-featured

A multilevel feedback queue is basically scheduling algorithm. It does the following:

– Give higher priority to short jobs.
– Give priority to input bound processes.
– Separate processes into categories based on their processor usage

Multiple First In First Out (FIFO) queues are used and the execution is as follows:

1. A new process is positioned at the end of the top-level FIFO queue.
2. At some stage the process reaches the head of the queue and is assigned the processor .
3. If the process is completed it leaves the system.
4. If the process voluntarily gives up control of processor it leaves the queuing network, and when the process becomes ready again it enters the system on the same queue level.
5. If the process uses all the quantum time, it is removed from this queue level and positioned at the end of the next lower level queue.
6. This will continue until the process completes or it reaches the base level queue.

In the multilevel feedback queue, a process is given just one chance to complete at a given queue level before it is forced down to a lower level queue.

Note: Quantum  is the amount of time a job runs before it is interrupted to start another job.

Related Questions