You are on page 1of 13

CPU Scheduling Algorithms Simulation

using Java

Kaushal Sinha
CSC 4320
Spring 2007

CPU Scheduling Algorithms Simulation


using Java
Implemented the following Scheduling
algorithms

First Come First Serve (FCFS)


Round Robin
Shortest Job First
Shortest Remaining Time

CPU Scheduling Algorithms Simulation


using Java
First Come First Serve (FCFS)
This non-preemptive scheduling algorithm
follows the first-in, first-out (FIFO) policy.
As each process becomes ready, it joins the
ready queue. When the current running
process finishes execution, the oldest
process in the ready queue is selected to
run next.

CPU Scheduling Algorithms Simulation


using Java
Round Robin (RR)

RR is designed specially for time-sharing systems.


It is similar to FCFS but preemption is added to
switch between processes.
A small unit of time, called a time quantum or
time slice, is defined.
The ready queue is treated as a circular queue.
The CPU scheduler goes around the ready queue,
allocating the CPU to each process for a time
interval of up to 1 time quantum.

CPU Scheduling Algorithms Simulation


using Java
Round Robin (RR) Contd

The implementation of RR is easily managed with a


FIFO ready queue.
The CPU is allocated to the process at the head the
ready queue. Then, one of two things will happen. If
the process has a CPU burst of less than 1 time
quantum, the process itself will release the CPU
voluntarily. The CPU is then assigned to the next
process in the ready queue. Otherwise, if the CPU
burst of the currently running job is longer than 1
time quantum, the process is preempted after 1
time quantum and put at the tail of the ready
queue. The CPU is then assigned to the next process
in the ready queue.

CPU Scheduling Algorithms Simulation


using Java
Shortest Job First (SJF)
This non-preemptive scheduling algorithm
favors processes with the shortest
expected process time. As each process
becomes ready, it joins the ready queue.
When the current running process finishes
execution, the process in the ready queue
with the shortest expected processing
time (or service time) is selected to run
next.

CPU Scheduling Algorithms Simulation


using Java
Shortest Remaining Time (SRT)
This preemptive scheduling algorithm
favors processes with the shortest
remaining expected process time. As each
process becomes ready, it joins the ready
queue. This triggers an interrupt which
preempts the current running process
back into the ready queue. The process in
the ready queue with the shortest
remaining service time is selected to run
next.

CPU Scheduling Algorithms Simulation


using Java
Selection of JAVA as a programming tool

Rich GUI classes available (Swing, AWT)


Object Orientation capabilities
Convenient and powerful documentation
capabilities
I like it

CPU Scheduling Algorithms Simulation


using Java

CPU Scheduling Algorithms Simulation


using Java

CPU Scheduling Algorithms Simulation


using Java

CPU Scheduling Algorithms Simulation


using Java

Demonstration

CPU Scheduling Algorithms Simulation


using Java
Questions

You might also like