Assignment - 2 Nikhil Kumar Agrawal (2021btech077)
Assignment - 2 Nikhil Kumar Agrawal (2021btech077)
Assignment -1
Course code:
CS 1108
Submitted by:
Nikhil Kumar Agrawal
(2021Btech077)
WAP to Implement First Come First Serve and Shortest Job First CPU
Scheduling algorithms.
User Input:
I. Number of jobs, N
II. Arrival time of each job, AT
III. CPU/ Burst time of each job, BT
Desired Output:
I. Print the job sequence
II. Completion time of each job, CT
III. Waiting Time of each job, WT (WT = TAT - BT)
IV. Average Waiting Time, AWT (AWT = (WT1 + WT2 + ........ + WTN)/N)
V. Turn Around Time of each job, TAT (TAT = CT – AT or TAT = WT + BT)
VI. Average Turn Around Time, ATAT (ATAT = (TAT1 + TAT2 + ........ + TATN)/N)
# Input
read -p "Enter the number of jobs, N: " N
# FCFS Scheduling
CT[0]=${AT[0]}
for ((i = 0; i < N; i++)); do
if ((CT[$i] < AT[$i])); then
CT[$i]=${AT[$i]}
fi
((CT[$i] += BT[$i]))
TAT[$i]=$((CT[$i] - AT[$i]))
WT[$i]=$((TAT[$i] - BT[$i]))
done
# SJF Scheduling
CT[0]=${AT[0]}
declare -a visited
for ((i = 0; i < N; i++)); do
visited[$i]=0
done