다시 반복하지 않고 반복

다시 반복하지 않고 반복

현재 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

관련 정보