0

これらのスケジューリングアルゴリズムを理解しようとしています:

  • 先着順 (FCFS)
  • 最短ジョブファースト (SJF)
  • 最短残り時間 (SRT)
  • ラウンドロビン (RR)

したがって、いくつかの入力が与えられた場合:

Process Name: A; Arrival Time: 0; Expected CPU Running Time: 3
Process Name: B; Arrival Time: 1; Expected CPU Running Time: 5
Process Name: C; Arrival Time: 3; Expected CPU Running Time: 2
Process Name: D; Arrival Time: 9; Expected CPU Running Time: 5
Process Name: E; Arrival Time: 12; Expected CPU Running Time: 5

FCFS は次のようにスケジュールされAAABBBBBCCDDDDDEEEEEます。

私は残りを理解できないようです。誰かが私に違いを説明するのを手伝ってもらえますか?

グーグルを試してみましたが、SJF で得た結果はややこしいものでした。

4

1 に答える 1

1

ヒントだけ教えます。

SJF と SRT については、実際には定義しません。名前について論理的に考えてください。

SJFの場合、最短で到着した未完了のジョブを選択します。ジョブの合計時間、つまり 3、5、2、5、5 を使用します。そのジョブに既にスケジュールされている時間は気にしません。

SRTの場合、到着した未完了のジョブのうち、残り時間が最も少ないものを選択します。残り時間は、合計時間からすでにスケジュールされている時間を差し引いたものとして単純に定義されます。したがって、時間 2 で をスケジュールAAしたので、 の残り時間は にAなります3-2 = 1

SJF と SRT の場合、競合(同じ時間のジョブが 2 つある場合) は、おそらく最初に到着したジョブを選択することで解決できます。SRT の場合、最長のジョブを選択することで競合を解決することもできます。これを確認する必要があります。

これらのアルゴリズムには、 preemptivenon-preemptiveの 2 つのバリエーションがあることに注意してください。つまり、プリエンプティブとは、タイム ステップごとに次に実行するジョブを選択することを意味します。一方、ノンプリエンティブの場合、ジョブを選択したら、そのジョブが完了するまでスケジュールします。これは、新しく到着した短い時間のジョブがあるかどうかに関係ありません。詳細な説明については、これを参照してください。

RRについては、最も長く選択したものを選択してください。

于 2013-11-02T16:50:49.457 に答える