応用情報技術者 2021年 春期 午前2 問16
問題文
ジョブの多重度が1で、到着順にジョブが実行されるシステムにおいて、表に示す状態のジョブA〜Cを処理するとき、ジョブCが到着してから実行が終了するまでのターンアラウンドタイムは何秒か。ここで、OSのオーバヘッドは考慮しない。

選択肢
ア:11(正解)
イ:12
ウ:13
エ:14
🔒 解説は解答すると表示されます
到着順実行のターンアラウンド【午前2解説】
正解の理由
到着順(FCFS)の単一ジョブ実行環境では到着した順に最後まで実行されます。ジョブAは到着時刻0から処理時間5秒で 0–5 秒に完了、ジョブBは到着時刻2で到着するがジョブA終了後に 5–11 秒(処理時間6秒)で実行されます。ジョブCは到着時刻3で待機し、ジョブB終了後の 11–14 秒に処理(処理時間3秒)を完了します。よってジョブCのターンアラウンドタイムは完了時刻14秒から到着時刻3秒を引いた 秒であり、選択肢の中では ア が該当します。
解法ステップ
- スケジューリング方針を確認:到着順(FCFS)で単一実行(多重度1)なので到着順に最後まで実行する。
- 各ジョブの開始・完了時刻を順に求める:
- ジョブA:到着0 → 開始0 → 完了0+5=5
- ジョブB:到着2 → A終了後に開始5 → 完了5+6=11
- ジョブC:到着3 → B終了後に開始11 → 完了11+3=14
- ターンアラウンドタイムの定義を適用:
- ターンアラウンドタイム(TAT) = 完了時刻 − 到着時刻
- ジョブCのTAT = 秒
選択肢別の誤答解説
- ア(11): 正しい。上記計算どおりジョブCは11–14秒に実行完了し、TATは11秒になる。
- イ(12): ジョブBの完了を誤って12秒と計算する誤り(Bを5–12秒で実行したと誤認する)や、Cの完了時刻を15と見積もる誤りに由来する。実際はBは6秒間で5–11秒に完了する。
- ウ(13): ジョブの待ち時間や処理時間を重複して二重に加算するミス(例えばCの到着時刻を考慮せずに完了時刻からずれを生じさせる)で発生しやすい誤答。正しい完了時刻は14秒で、TATは11秒である。
- エ(14): ターンアラウンドタイムと単純な完了時刻を混同した誤り。完了時刻14秒をそのまま答えると到着時刻3秒を差し引いていないため誤りになる。
よくある誤解
- 「完了時刻=ターンアラウンドタイム」と混同する点。TATは完了時刻から到着時刻を引いた値である点を忘れやすい。
- 到着時刻を考慮せずに待ち時間のみで計算する誤り。TATは(待ち時間+処理時間)でも表せるが、到着時刻差の観点で計算する方が確実。
- 同時到着やマルチプロセッサ環境との混同。今回の前提は単一実行(多重度1)なので並列実行は起こらない。
補足コラム
- ターンアラウンドタイム(TAT)はジョブの総所要時間(到着から完了まで)を示し、平均を用いてスケジューラ評価に使われます。式は一般に (:完了時刻、:到着時刻)で表されます。
- 上の例をGanttチャートで表すと以下のようになります(時刻は秒):
- 0 ── A(5s) ── 5 ── B(6s) ── 11 ── C(3s) ── 14
これにより各ジョブの開始・完了・待ち時間が視覚的に把握できます。
- 0 ── A(5s) ── 5 ── B(6s) ── 11 ── C(3s) ── 14
- 前提条件(オーバヘッド無視、単一CPU、非プリエンプティブ)を変えると結果は大きく変わります。プリエンプティブなスケジューリングや並列実行では到着順で実行されない場合があります。
FAQ
Q. ターンアラウンドタイムと待ち時間の違いは何ですか?
A. 待ち時間はジョブが実際にCPUを使っていないで待っていた時間のみ、TATは到着から完了までの合計(待ち時間+実行時間)です。今回のCでは待ち時間が 秒(到着3から開始11)で、実行時間3秒を加えるとTATは11秒になります。
A. 待ち時間はジョブが実際にCPUを使っていないで待っていた時間のみ、TATは到着から完了までの合計(待ち時間+実行時間)です。今回のCでは待ち時間が 秒(到着3から開始11)で、実行時間3秒を加えるとTATは11秒になります。
Q. 到着順(FCFS)で到着時刻が同じ場合はどうなる?
A. 同時到着ジョブの処理順は定義に依存します(到着順の内部決定ルールやプロセスID順など)。問題文で明示されない場合、任意の固定ルールが適用される想定で解くことが多いです。
A. 同時到着ジョブの処理順は定義に依存します(到着順の内部決定ルールやプロセスID順など)。問題文で明示されない場合、任意の固定ルールが適用される想定で解くことが多いです。
Q. マルチコア(多重度>1)ならどう変わりますか?
A. 多重度が1以外なら同時に複数ジョブを実行できるため、完了時刻やTATは変化します。今回の解法は「多重度1=単一実行」前提でのみ有効です。
A. 多重度が1以外なら同時に複数ジョブを実行できるため、完了時刻やTATは変化します。今回の解法は「多重度1=単一実行」前提でのみ有効です。
関連キーワード: ターンアラウンドタイム、到着順スケジューリング、FCFS、待ち時間、完了時刻

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

