Priority Scehduling Algorithm
Priority Scehduling Algorithm
/bin/bash
burst_time=(10 5 8 6)
priority=(2 1 4 3)
sort_by_priority() {
# Swap priorities
temp=${priority[i]}
priority[i]=${priority[j]}
priority[j]=$temp
temp=${burst_time[i]}
burst_time[i]=${burst_time[j]}
burst_time[j]=$temp
temp=${pids[i]}
pids[i]=${pids[j]}
pids[j]=$temp
fi
done
done
}
# Function to calculate waiting time for each process
calculate_waiting_time() {
waiting_time[0]=0
waiting_time[i]=0
waiting_time[i]=$((waiting_time[i] + burst_time[j]))
done
done
calculate_turnaround_time() {
turnaround_time[i]=$((burst_time[i] + waiting_time[i]))
done
print_results() {
done
sort_by_priority
calculate_waiting_time
calculate_turnaround_time
print_results