Shell Script To Demonstrate the SJG Scheduling Algorithm

Pranat
0
Lamp

 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"

Post a Comment

0 Comments
* Please Don't Spam Here. All the Comments are Reviewed by Admin.
Post a Comment (0)
Our website uses cookies to enhance your experience. Learn More
Accept !