基本情報技術者平成20年秋期 午前問32

問32

処理はすべてCPU処理である三つのジョブ A,B,C がある。それらを単独で実行したときの処理時間は,ジョブAが5分,ジョブBが10分,ジョブCは15分である。この三つのジョブを次のスケジューリング方式に基づいて同時に実行すると,ジョブBが終了するまでの経過時間はおよそ何分か。

〔スケジューリング方式〕
  • 一定時間(これをタイムクウォンタムと呼ぶ)内に処理が終了しなければ,処理を中断させて,待ち行列の最後尾へ回す。
  • 待ち行列に並んだ順に実行する。
  • タイムクウォンタムは,ジョブの処理時間に比べて十分に小さい値とする。
  • ジョブの切替え時間は考慮しないものとする。
  • 15
  • 20
  • 25
  • 30
  • [出題歴]
  • 応用情報技術者 H30秋期 問16

分類

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

正解

解説

〔スケジューリング方式〕の説明より、3つのジョブはマルチタスク的に並行して実行されていくことがわかります。

当初は3つのジョブを同時に実行していくので、CPU時間は、3つのジョブに平均的に割り当てられていきます。処理を進めていくと、まず開始から15分時点でジョブA(処理時間5分)が完了します。15分のうち1/3がジョブAに割り当てられるためです。この時点で、ジョブBとジョブCも全体のうち5分間の処理が完了していることになります。

ジョブAの終了後は、CPU時間は2つのジョブに割り当てられます。ジョブBの残り時間は「10分-5分=5分」で、CPU時間の1/2が割り当てられるので、ジョブBの終了はジョブAの終了後10分後となることがわかります。
32.png/image-size:346×209
したがって、ジョブB完了までに要する時間は「15+10=25分」です。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop