ジョブの多重度が1で,到着順にジョブが実行されるシステムにおいて,表に示す状態のジョブA~Cを処理するとき,ジョブCが到着してから実行が終了するまでのターンアラウンドタイムは何秒か。
ここで,OSのオーバヘッドは考慮しないものとする。
単位 秒
ジョブ|到着時刻|処理時間(単独実行時)/A|0|5/B|2|6/C|3|3
正答1
解説
正解は1です。
ジョブの多重度が1なので、同時に実行できるジョブは1つだけです。
到着順に実行するので、前のジョブが終わるまで次のジョブは待たされます。
ターンアラウンドタイムは、ジョブが到着してから実行が終了するまでの時間です。
【計算】
ジョブAは時刻0に到着し、0秒から5秒まで実行します。
ジョブBは時刻2に到着しますが、Aの終了を待って5秒から11秒まで実行します。
ジョブCは時刻3に到着しますが、Bの終了を待って11秒から14秒まで実行します。
Cのターンアラウンドタイム=終了時刻14秒-到着時刻3秒=11秒です。
【選択肢別解説】
1:○ Cは11秒に実行を始めて14秒に終了するので、到着から終了までは11秒です。
2:× 12秒は計算結果と一致しません。
Cの到着時刻は3秒なので、14秒から3秒を引いて11秒になります。
3:× 13秒は計算結果と一致しません。
Cは前のジョブAとBが終わる11秒まで待たされ、3秒間実行して14秒に終わるので、到着からは11秒です。
4:× 14秒はCの終了時刻です。
ターンアラウンドタイムは到着時刻の3秒を引いた11秒です。
【ポイント】
ターンアラウンドタイムは「終了時刻-到着時刻」です。
実行を開始した時刻ではなく、到着した時刻から数える点に注意しましょう。