基本情報技術者試験令和3年2107問17

効率的なスケジューリングとは?ジョブ管理の基本をマスターしよう

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

単位は秒
ジョブ到着時間単独実行時の処理時間
A02
B14
C23
D32
E41
×不正解です

ターンアラウンドタイムは、あるジョブがシステムに入力されてからすべての処理が完了して出力が得られるまでの時間です。この問題では、処理時間順方式という、処理時間の短いジョブから順に実行していくスケジューリング方式を用います。

まず、ジョブの多重度が1という条件から、CPUは同時に一つのジョブしか処理できないとわかります。この制約の下でジョブAからEがどのように処理されていくかを見ていきます。

  • 1. 初めにジョブAが到着し処理が開始されます。
  • 2. ジョブBは1秒後に到着しますが、ジョブAの処理が続けられます。
  • 3. 2秒後にジョブCが到着。ジョブAの処理完了後、短い処理時間を持つジョブCの処理が開始されます。
  • 4. ジョブDとEがそれぞれ3秒後と4秒後に到着しますが、これらの中でジョブCの処理が優先されます。
  • 5. ジョブCが5秒後に完了。次に処理時間の短いジョブEが開始される。
  • 6. ジョブEが6秒後に完了。次にDが処理開始。
  • 7. ジョブDが8秒後に完了。そして最後にジョブBが処理開始。
  • 8. ジョブBが12秒後に完了します。

ジョブBは1秒後に到達し、12秒後に完了するため、そのターンアラウンドタイムは11秒です。

回答数 2
正解率 50.00%