현재 bash 스크립트를 사용하고 있으며 SJF(Shortest Job First) 기반 루핑을 사용하고 있습니다. 루프는 이전에 건너뛴 서비스 시간을 다시 확인할지 여부를 확인하기 위해 다시 반복되지 않습니다. 확인하려면 또 다른 루프와 부울이 필요합니까? 감사해요!
도착시간 : 운행시간
0:3
1:5
4:5
5:1
6:3
9:1
#execution of second process till last process of SPN
for (( i=1; i<array; i++ )); do
prevTime=${finishTime[$value]} #obtain value from previous completion time
curService=${serviceTime[$i]}
for (( j=i; j<array; j++ )); do
#compare previous completion time with current process.
if [[ $prevTime -ge ${arrivalTime[$j]} ]] && [[ $curService -ge ${serviceTime[$j]} ]]; then
curService=${serviceTime[$j]}
value=$j
fi
done
#calculation of each process finish & turnaround time
finishTime[$value]=`expr $prevTime + ${serviceTime[$value]}`
turnaroundTime[$value]=`expr ${finishTime[$value]} - ${arrivalTime[$value]}`
done