最終更新日:2026年8月5日
fe fe-technology computer-system
まず結論
ターンアラウンドタイムとは、ジョブが到着してから処理が完了するまでの時間です。
計算式は次のとおりです。
ターンアラウンドタイム
=
完了時刻 − 到着時刻
また、待ち時間と処理時間に分けると、次のようにも表せます。
ターンアラウンドタイム
=
待ち時間 + 処理時間
基本情報技術者試験では、完了時刻だけを見るのではなく、対象ジョブの到着時刻を引くことが重要です。
直感的な説明
病院の受付を考えると分かりやすいです。
患者が受付に来てから、診察が終わるまでには、次の二つの時間があります。
診察が始まるまで待つ時間
+
実際に診察を受ける時間
この合計が、システムでいうターンアラウンドタイムに相当します。
到着
↓ 待ち時間
処理開始
↓ 処理時間
完了
つまり、ターンアラウンドタイムは、CPUを実際に使っている時間だけではありません。
待ち時間も含めた、到着から完了までの全体時間です。
定義・仕組み
ジョブの処理では、主に次の時刻を使います。
| 用語 | 意味 |
|---|---|
| 到着時刻 | ジョブがシステムへ到着した時刻 |
| 開始時刻 | ジョブの実行が始まった時刻 |
| 完了時刻 | ジョブの実行が終わった時刻 |
| 処理時間 | 実際にCPUなどを使って処理した時間 |
| 待ち時間 | 到着後、実行開始まで待った時間 |
| ターンアラウンドタイム | 到着から完了までの時間 |
待ち時間の計算
待ち時間は、次の式で求めます。
待ち時間
=
開始時刻 − 到着時刻
ターンアラウンドタイムの計算
ターンアラウンドタイムは、次の式で求めます。
ターンアラウンドタイム
=
完了時刻 − 到着時刻
開始から完了までが処理時間なので、次の関係も成り立ちます。
完了時刻 − 到着時刻
=
(開始時刻 − 到着時刻)
+
(完了時刻 − 開始時刻)
つまり、
ターンアラウンドタイム
=
待ち時間 + 処理時間
です。
多重度1とは
多重度1とは、同時に実行できるジョブが一つだけという意味です。
一つのジョブが実行中なら、後から到着したジョブは待ちます。
ジョブAを実行中
↓
ジョブBが到着
↓
Bは待つ
到着順に実行する条件なら、先に到着したジョブから順番に処理します。
このテーマは、基本情報技術者試験の「コンピュータシステム」に関係します。公式の出題範囲やシラバスは、IPA:基本情報技術者試験から確認できます。
科目Aでどう出る?
科目Aでは、複数のジョブについて、到着時刻と処理時間が与えられ、特定ジョブの待ち時間やターンアラウンドタイムを求める問題が出ます。
まず実行順を決める
到着順に実行する場合は、到着時刻の早い順に並べます。
例えば、次の3ジョブを考えます。
| ジョブ | 到着時刻 | 処理時間 |
|---|---|---|
| A | 0秒 | 5秒 |
| B | 2秒 | 6秒 |
| C | 3秒 | 3秒 |
多重度1で到着順実行なら、順番は次です。
A → B → C
開始時刻と完了時刻を求める
| ジョブ | 到着 | 開始 | 完了 |
|---|---|---|---|
| A | 0 | 0 | 5 |
| B | 2 | 5 | 11 |
| C | 3 | 11 | 14 |
時系列で書くと、次のようになります。
時刻 0 5 11 14
|--- A ---|----- B -----|-- C --|
対象ジョブの到着時刻を引く
ジョブCのターンアラウンドタイムは、
完了時刻 − 到着時刻
=
14 − 3
=
11秒
です。
システム全体の開始時刻0秒から数えるのではなく、ジョブCが到着した3秒から数えるのがポイントです。
作業表を作る
試験中は、次の4列を書くと整理しやすくなります。
| ジョブ | 到着 | 開始 | 完了 |
|---|---|---|---|
| A | |||
| B | |||
| C |
その後、聞かれている時間に応じて計算します。
待ち時間
→ 開始 − 到着
ターンアラウンドタイム
→ 完了 − 到着
どんな場面で使う?
ターンアラウンドタイムは、処理要求を出してから結果が得られるまでの全体時間を評価するときに使います。
バッチ処理
大量のデータをまとめて処理するバッチ処理では、ジョブを投入してから結果が得られるまでの時間を確認します。
ジョブ投入
↓
待ち行列
↓
実行
↓
結果出力
この全体が長いと、利用者は結果を得るまで長く待つことになります。
ジョブスケジューリングの比較
実行順序の決め方によって、各ジョブの待ち時間やターンアラウンドタイムは変わります。
例えば、次のような方式があります。
- 到着順
- 処理時間の短い順
- 優先度順
- ラウンドロビン
同じジョブでも、スケジューリング方式が違えば完了時刻が変わります。
システム性能の評価
処理速度だけでなく、待ち時間を含めて利用者がどれだけ待つかを見る指標として使われます。
ただし、対話型システムでは、最初の応答が返るまでの応答時間も重要です。
よくある誤解・混同
誤解1:完了時刻がそのままターンアラウンドタイム
完了時刻は、時間軸上の位置です。
ターンアラウンドタイムは、到着から完了までの長さです。
完了時刻
≠
ターンアラウンドタイム
到着時刻が0でない場合は、必ず引き算が必要です。
誤解2:処理時間だけを答える
処理時間は、実際にCPUなどを使っている時間です。
ターンアラウンドタイムには、実行開始までの待ち時間も含まれます。
ターンアラウンドタイム
=
待ち時間 + 処理時間
誤解3:到着したらすぐ実行される
多重度1では、同時に一つのジョブしか実行できません。
前のジョブが実行中なら、後から到着したジョブは待ちます。
誤解4:到着時刻が早いほど必ずすぐ終わる
到着順実行なら先に到着したジョブから処理されますが、処理時間が長ければ完了は遅くなります。
到着時刻と処理時間は分けて考えます。
誤解5:応答時間とターンアラウンドタイムは同じ
ターンアラウンドタイムは、到着から処理全体の完了までです。
応答時間は、要求を出してから最初の応答が返るまでの時間として扱われます。
最初の反応まで
→ 応答時間
すべて完了するまで
→ ターンアラウンドタイム
誤解6:OSのオーバーヘッドを必ず加える
問題文で「OSのオーバーヘッドは考慮しない」と指定されている場合は、加えません。
試験では、問題文の条件を優先します。
まとめ(試験直前用)
- ターンアラウンドタイムは、ジョブの到着から完了までの時間
- 計算は
完了時刻 − 到着時刻 - 待ち時間は
開始時刻 − 到着時刻 ターンアラウンドタイム = 待ち時間 + 処理時間- 多重度1では、同時に実行できるジョブは一つだけ
- 到着順実行では、先に到着したジョブから処理する
- 迷ったら、
ジョブ|到着|開始|完了の表を書く