平成31年春期試験午前問題 問16
問16解説へ
五つのジョブA~Eに対して,ジョブの多重度が1で,処理時間順方式のスケジューリングを適用した場合,ジョブBのターンアラウンドタイムは何秒か。ここで,OSのオーバヘッドは考慮しないものとする。

- 8
- 9
- 10
- 11
正解 エ問題へ
広告
ターンアラウンドタイムは、入力作業の開始からすべての出力作業の完了通知を受け取るまでに要する時間のことをいいます。そして処理時間順方式(Shortest Processing Time First)は、タスクの横取りがない(ノンプリエンプティブな)スケジューリング方式で、処理時間の短いタスクを優先的に実行します。新たなタスクが到着すると処理の待ち行列に加わり、CPUが空くと待ち行列の中から最も(予想)処理時間の短いタスクが選択され、実行状態に移されます。
これに従うとCPUは次のようにジョブを処理していくことになります。
これに従うとCPUは次のようにジョブを処理していくことになります。
- 開始時点で到着しているのはジョブAだけなので、CPUはジョブAの処理を開始する。
- 開始から1秒後にジョブBが到着する。CPUはジョブAの処理を続ける。
- 開始から2秒後にジョブCが到着する。同時にジョブAの処理が完了する。
未処理のタスクの処理時間を比較するとC<Bなので、CPUはジョブCの処理を開始する。 - 開始から3秒後にジョブDが到着する。CPUはジョブCの処理を続ける。
- 開始から4秒後にジョブEが到着する。CPUはジョブCの処理を続ける。
- 開始から5秒後にジョブCの処理が完了する。
未処理のタスクの処理時間を比較するとE<D<Bなので、CPUはジョブEの処理を開始する。 - 開始から6秒後にジョブEの処理が完了する。
未処理のタスクの処理時間を比較するとD<Bなので、CPUはジョブDの処理を開始する。 - 開始から8秒後にジョブDの処理が完了する。
CPUは最後に残ったジョブBの処理を開始する。 - 開始から12秒後にジョブBの処理が完了し、全てのジョブの処理が完了する。

広告