次の最短ジョブまたは最短プロセスをシミュレートするコードを bash を使用して記述しようとしていますが、その背後にあるロジックを把握するのに苦労しています。プロセス名、到着時間、およびバースト時間を含むファイルから読み取りました。だから言ってみましょう
あ | 1 | 5
ビ | 2 | 3
シー | 3 | 2
D | 4 | 4
え | 6 | 3
これまでの私の思考プロセスは次のとおりです。私は bash スクリプトを使用しているので、データを 3 つの個別の配列に分割しました。プロセス、到着、バースト。totaltime という 4 番目の配列を作成しました。実際には、これがスケジュールがどのように見えるべきかを知っています
|1|工程A|5|工程C|7|工程B|10|工程D|14|工程E|17|
私のコードロジックは、最初に到着配列をチェックして最小値を見つけ、その行が最初にスケジュールされるプロセスに対応することです。次に、どのプロセスの到着時間が最初のプロセスのバースト時間よりも短いかを確認します。その一連のプロセス内で、最もスマートなバースト時間を見つけます。今、これが私が立ち往生しているところです。if ステートメントを使用して、どのプロセスが最初のバースト時間よりも短いかを確認してから、for ループを使用してセットの最小のバースト時間を見つけますか? その後、3番目のプロセスをどのようにスケジュールしますか?