オペレーティングシステム (全131問中31問目)
No.31
五つのジョブA~Eに対して,ジョブの多重度が1で,処理時間順方式のスケジューリングを適用した場合,ジョブBのターンアラウンドタイムは何秒か。ここで,OSのオーバーヘッドは考慮しないものとする。
出典:平成31年春期 問16
- 8
- 9
- 10
- 11
- [出題歴]
- 応用情報技術者 H25春期 問17
- ソフトウェア開発技術者 H16春期 問26
- ソフトウェア開発技術者 H18秋期 問25
分類
テクノロジ系 » ソフトウェア » オペレーティングシステム
正解
エ
解説
ターンアラウンドタイムは、入力の開始を始めたときからすべての出力を受け取るまでに要する時間のことをいいます。
処理時間順方式は、処理時間の短いタスクを優先的に実行するスケジューリング方式です。新たなタスクが到着すると処理の待ち行列に加わり、CPUが空くと待ち行列の中から予想処理時間が最も短いタスクが選択され、実行状態に移されます。またジョブの多重度が1なので、CPUは同時に1つのジョブしか処理できません。
これらの条件に従うと、CPUは次のようにジョブを処理していくことになります。
処理時間順方式は、処理時間の短いタスクを優先的に実行するスケジューリング方式です。新たなタスクが到着すると処理の待ち行列に加わり、CPUが空くと待ち行列の中から予想処理時間が最も短いタスクが選択され、実行状態に移されます。またジョブの多重度が1なので、CPUは同時に1つのジョブしか処理できません。
これらの条件に従うと、CPUは次のようにジョブを処理していくことになります。
- 【開始時点】到着しているのはジョブAだけなので、CPUはジョブAの処理を開始する。
- 【1秒後】ジョブBが到着する。CPUはジョブAの処理を続ける。
- 【2秒後】ジョブAの処理が完了する。同時にジョブCが到着する。
未処理のタスクの処理時間を比較するとB>Cなので、CPUはジョブCの処理を開始する。 - 【3秒後】ジョブDが到着する。CPUはジョブCの処理を続ける。
※処理時間はC>Dですが、処理時間順方式はノンプリエンプティブな方式なのでタスクの切替えは発生しません。 - 【4秒後】ジョブEが到着する。CPUはジョブCの処理を続ける。
- 【5秒後】ジョブCの処理が完了する。
未処理のタスクの処理時間を比較するとE<D<Bなので、CPUはジョブEの処理を開始する。 - 【6秒後】ジョブEの処理が完了する。
未処理のタスクの処理時間を比較するとD<Bなので、CPUはジョブDの処理を開始する。 - 【8秒後】ジョブDの処理が完了する。
CPUは最後に残ったジョブBの処理を開始する。 - 【12秒後】ジョブBの処理が完了し、全てのジョブの処理が完了する。