printf "Enter the num of Process :"
read size
#To Get the Burst Time of Each Process
for (( i=0; i<$size; i++ ))
do
printf "Enter the Burst Time of Process $i : "
read num
process[ $i ]=$num;
done
for ((i=0; i<$size; i++))
do
for ((j=i+1; j<$size; j++))
do
#k=`expr $j + 1` #-----------------------------------------------------
---------Do NOt Take k Variable
if [[ ${process[ $i ]} -gt ${process[ $j ]} ]]
then
temp=${process[ $j ]}
process[ $j ]=${process[ $i ]}
process[ $i ]=$temp
fi
done
done
printf "Processes in Gantt Chart :"
for (( i=0; i<=$size; i++ ))
do
printf "${process[ $i ]} "
done
#To Calculate the Wating Time
temp=0
for (( i=0; i<=$size; i++ ))
do
waiting[ $i ]=$temp
temp=`expr $temp + ${process[ $i ]}`
done
#To Display the Waiting Time
echo "----------------------------------------"
echo "Wating Time of $size Processes are :"
for (( i=0; i<$size; i++))
do
printf "${waiting[ $i ]}\n"
done
echo "----------------------------------------"
#To Calculate Average Waiting Time
sum=0
for (( i=0; i<$size; i++ ))
do
sum=`expr $sum + ${waiting[ $i ]}`
done
cal=`expr $sum \/ $size`
printf "\nAverage Waiting time is : $cal ms\n"

