Multiple-Level Queues Scheduling
Multiple-Level Queues Scheduling
Multiple-Level Queues Scheduling
Round-Robin Scheduling
Round robin is the oldest, simplest scheduling algorithm. The name of this
algorithm comes from the round-robin principle, where each person gets
an equal share of something in turn. It is mostly used for scheduling
algorithms in multitasking. This algorithm method helps for starvation free
execution of processes.
Characteristics of Round-Robin Scheduling
Round robin is a hybrid model which is clock-driven
Time slice should be minimum, which is assigned for a specific task to be
processed. However, it may vary for different processes.
It is a real time system which responds to the event within a specific time
limit.
Shortest Job First
SJF is a full form of (Shortest job first) is a scheduling algorithm in which the
process with the shortest execution time should be selected for execution
next. This scheduling method can be preemptive or non-preemptive. It
significantly reduces the average waiting time for other processes awaiting
execution.
Characteristics of SJF Scheduling
It is associated with each job as a unit of time to complete.
In this method, when the CPU is available, the next process or job with the
shortest completion time will be executed first.
It is Implemented with non-preemptive policy.
This algorithm method is useful for batch-type processing, where waiting for
jobs to complete is not critical.
It improves job output by offering shorter jobs, which should be executed
first, which mostly have a shorter turnaround time.
Multiple-Level Queues Scheduling
This algorithm separates the ready queue into various separate queues. In this
method, processes are assigned to a queue based on a specific property of the
process, like the process priority, size of the memory, etc.
However, this is not an independent scheduling OS algorithm as it needs to
use other types of algorithms in order to schedule the jobs.
Characteristic of Multiple-Level Queues Scheduling:
Multiple queues should be maintained for processes with some
characteristics.
Every queue may have its separate scheduling algorithms.
Priorities are given for each queue.
CPU-I/O Burst Cycle
Process execution consists of a cycle of CPU execution and I/O wait. The state
of process under execution is called CPU burst and the state of process under
I/O request & its handling is called I/O burst. Processes alternate between
these two states. Process execution begins with a CPU burst. That is followed
by an I/O burst, which is followed by another CPU burst, then another I/O
burst, and so on. Eventually, the final CPU burst ends with a system request to
terminate execution as shown in the following figure:
Almost all processes alternate between two states in a continuing cycle, as shown
in Figure
A CPU burst of performing calculations, and
An I/O burst, waiting for data transfer in or out of the system.
BASIS FOR
PREEMPTIVE SCHEDULING NON PREEMPTIVE SCHEDULING
COMPARISON
Basic The resources are allocated Once resources are allocated to a
to a process for a limited process, the process holds it till it
time. completes its burst time or switches to
waiting state.