SCHEDULING
ALGORITHMS
Scheduling algorithms are used for
distributing resources among parties which
simultaneously and asynchronously request
them.
02
Shortest
Remaining Time
01 03
Priority Based Round Robin
Scheduling Scheduling,
04
Multiple-Level
Queues Scheduling
Preemptive Non-Preemptive
Scheduling Scheduling
Non-preemptive Scheduling is used when
Preemptive scheduling is used
a process terminates, or a process
when a process switches from the
switches from running to the waiting
running state to the ready state or
state. In this scheduling, once the
from the waiting state to the ready
resources (CPU cycles) are allocated to a
state. The resources (mainly CPU
process, the process holds the CPU till it
cycles) are allocated to the process
gets terminated or reaches a waiting state.
for a limited amount of time and
In the case of non-preemptive scheduling
then taken away, and the process is
does not interrupt a process running CPU
again placed back in the ready
in the middle of the execution. Instead, it
queue if that process still has CPU
waits till the process completes its CPU
burst time remaining. That process
burst time, and then it can allocate the
stays in the ready queue till it gets
CPU to another process.
its next chance to execute.
Priority Based Scheduling
Priority scheduling is a non-preemptive
algorithm and one of the most common
scheduling algorithms in batch systems.
Each process is assigned a priority. Process with
highest priority is to be executed first and so on.
Processes with same priority are executed on
first come first served basis.
Priority can be decided based on memory
requirements, time requirements or any other
resource requirement.
Shortest Remaining Time
Shortest remaining time (SRT) is the preemptive
version of the SJN algorithm.
The processor is allocated to the job closest to
completion but it can be preempted by a newer
ready job with shorter time to completion.
Impossible to implement in interactive systems
where required CPU time is not known.
It is often used in batch environments where
short jobs need to give preference.
Round Robin Scheduling
Round Robin is the preemptive process
scheduling algorithm.
Each process is provided a fix time to execute, it
is called a quantum.
Once a process is executed for a given time
period, it is preempted and other process
executes for a given time period.
Context switching is used to save states of
preempted processes.
Round Robin
Multiple-Level Queues Scheduling
Multiple-level queues are not an independent
scheduling algorithm. They make use of other
existing algorithms to group and schedule jobs
with common characteristics.
Multiple queues are maintained for processes
with common characteristics.
Each queue can have its own scheduling
algorithms.
Priorities are assigned to each queue.
HA NOICE