ソフトウェア開発技術者平成18年秋期 午前問25

問25

五つのジョブA~Eに対して,ジョブの多重度が1で,処理時間順方式のスケジューリングを適用した場合,ジョブBのターンアラウンドタイムは何秒か。ここで,OSのオーバーヘッドは考慮しないものとする。
25.png/image-size:259×152
  • 8
  • 9
  • 10
  • 11
  • [出題歴]
  • 応用情報技術者 H25春期 問17
  • 応用情報技術者 H31春期 問16
  • ソフトウェア開発技術者 H16春期 問26

分類

テクノロジ系 » ソフトウェア » オペレーティングシステム

正解

解説

ターンアラウンドタイムは、入力の開始を始めたときからすべての出力を受け取るまでに要する時間のことをいいます。

処理時間順方式は、処理時間の短いタスクを優先的に実行するスケジューリング方式です。新たなタスクが到着すると処理の待ち行列に加わり、CPUが空くと待ち行列の中から予想処理時間が最も短いタスクが選択され、実行状態に移されます。また、ジョブの多重度が1なので、CPUは同時に1つのジョブしか処理できません。

これらの条件に従うと、CPUは次のようにジョブを処理していくことになります。
  1. 【開始時点】到着しているのはジョブAだけなので、CPUはジョブAの処理を開始する。
  2. 【1秒後】ジョブBが到着する。CPUはジョブAの処理を続ける。
  3. 【2秒後】ジョブAの処理が完了する。同時にジョブCが到着する。
    未処理のタスクの処理時間を比較するとB>Cなので、CPUはジョブCの処理を開始する。
  4. 【3秒後】ジョブDが到着する。CPUはジョブCの処理を続ける。
    ※処理時間はC>Dですが、処理時間順方式はノンプリエンプティブな方式なのでタスクの切替えは発生しません。
  5. 【4秒後】ジョブEが到着する。CPUはジョブCの処理を続ける。
  6. 【5秒後】ジョブCの処理が完了する。
    未処理のタスクの処理時間を比較するとE<D<Bなので、CPUはジョブEの処理を開始する。
  7. 【6秒後】ジョブEの処理が完了する。
    未処理のタスクの処理時間を比較するとD<Bなので、CPUはジョブDの処理を開始する。
  8. 【8秒後】ジョブDの処理が完了する。
    CPUは最後に残ったジョブBの処理を開始する。
  9. 【12秒後】ジョブBの処理が完了し、全てのジョブの処理が完了する。
このようにタスクの完了順は「A→C→E→D→B」となります。ジョブBが到着したのは開始から1秒後ですから、ジョブBのターンアラウンドタイムは、全体の処理時間12秒から1秒を引いた11秒となります。したがって「エ」が正解です。
25a.png/image-size:411×151
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop