0

次の最短ジョブまたは最短プロセスをシミュレートするコードを 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番目のプロセスをどのようにスケジュールしますか?

4

1 に答える 1

0

できることは、最初のバースト時間よりも短いプロセスの配列を作成し、その配列をソートすることです。最初の結果は最小のバースト時間です。

于 2013-03-24T11:06:38.203 に答える