Schedule Algorithm
Schedule Algorithm
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.