応用情報技術者平成31年春期 午前問16

問16

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

分類

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

正解

解説

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

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

これらの条件に従うと、CPUは次のようにジョブを処理していくことになります。
  1. 開始時点で到着しているのはジョブAだけなので、CPUはジョブAの処理を開始する。
  2. 開始から1秒後にジョブBが到着する。CPUはジョブAの処理を続ける。
  3. 開始から2秒後にジョブCが到着する。同時にジョブAの処理が完了する。
    未処理のタスクの処理時間を比較するとC<Bなので、CPUはジョブCの処理を開始する。
  4. 開始から3秒後にジョブDが到着する。CPUはジョブCの処理を続ける。
  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」になり、開始から1秒後にジョブBが到着してから処理が終了するまでには11秒を要します。
16a.png/image-size:411×151
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop