繰り返さずに繰り返す

繰り返さずに繰り返す

私は現在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

ベストアンサー1

おすすめ記事