戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

応用情報技術者 2017年 春期 午前213


問題文

CPUと磁気ディスク装置で構成されるシステムで、表に示すジョブA, Bを実行する。この二つのジョブが実行を終了するまでのCPUの使用率と磁気ディスク装置の使用率との組合せのうち、適切なものはどれか。ここで、ジョブA, Bはシステムの動作開始時点ではいずれも実行可能状態にあり、A, Bの順で実行される。CPU及び磁気ディスク装置は、ともに一つの要求だけを発生順に処理する。ジョブA, BともCPUの処理を終了した後、磁気ディスク装置の処理を実行する。
応用情報技術者 2017年 春期 午前2 問13の問題画像応用情報技術者 2017年 春期 午前2 問13の選択肢の画像

選択肢

(正解)

🔒 解説は解答すると表示されます

CPUと磁気ディスクの利用率【午前2解説】

正解の理由

ジョブ A, B の実行順(A の CPU → A の磁気ディスク → B の CPU → B の磁気ディスク)と各処理時間から、全体の終了時刻(=両ジョブが完了するまでの経過時間)は 25 秒になります。CPU が実際に稼働している合計時間は A の CPU(3s) と B の CPU(12s) の合計 15 秒、磁気ディスクが稼働している合計時間は A の磁気ディスク(7s) と B の磁気ディスク(10s) の合計 17 秒です。したがって CPU の使用率は 、磁気ディスクの使用率は となり、選択肢のうち の組合せと一致します。

解法ステップ

  1. ジョブと処理順を整理する
    • A: CPU 3s → Disk 7s
    • B: CPU 12s → Disk 10s
      両ジョブともシステム開始時に実行可能で、A が先に CPU を使う。CPU・磁気ディスクはそれぞれ一つずつ順番に処理する。
  2. ガントチャート(時刻図)を描く(主要時刻のみ)
    • t=0–3: CPU が A を実行(CPU 稼働)
    • t=3: A が CPU 終了→ディスク要求発生。ディスクは空きなので t=3–10 で A のディスク処理(ディスク稼働)。同時に CPU は B を開始。
    • t=3–15: CPU が B を実行(3+12=15)
    • t=10: A のディスク終了 → ディスクは t=10–15 の間は空き(待ち)
    • t=15: B が CPU 終了→ディスク要求発生。ディスクは空きなので t=15–25 で B のディスク処理(ディスク稼働)
    • 最終完了は t=25(B のディスク終了)
  3. 各資源の稼働合計を計算する
    • CPU 稼働時間 = 3 + 12 = 15 秒 → 使用率 =
    • 磁気ディスク稼働時間 = 7 + 10 = 17 秒 → 使用率 =
  4. 選択肢と比較して一致するのは
(簡易時刻図) 0 —3—10—15—25
CPU: [A:0–3][B:3–15](稼働合計 15)
Disk: [A:3–10] 空き 10–15 [B:15–25](稼働合計 17)

選択肢別の誤答解説

  • ア(CPU 0.47 / Disk 0.53)
    この比率は CPU 稼働 15s、Disk 稼働 17s を合計 32 秒として割った値(, )に対応します。つまり「全処理時間を単純に 3+7+12+10=32 秒とし、CPU とディスクは全く重ならず直列に実行される」と誤って仮定した場合の値です。実際は CPU とディスクは一部並行動作するため全体は 25 秒となり、この仮定は誤りです。
  • ウ(CPU 0.79 / Disk 0.89)
    これらは共に総経過時間を約 19 秒と仮定した場合の値(, )。総経過時間が 19 秒では B の磁気ディスク処理(CPU 終了後に 10 秒)が終わらず、与えられた順序と処理時間を満たせません。つまり前提となるスケジュールが現実の制約に反しています。
  • エ(CPU 0.88 / Disk 1.00)
    磁気ディスク使用率が 1.00 ということは「システム稼働期間中、磁気ディスクが常に稼働していた」と仮定していることになります。磁気ディスク合計稼働 17s に対して総経過時間が 17s とすると CPU の合計 15s をその期間に収める必要がありますが、B のディスク処理は B の CPU 終了(t=15)後に始まるためディスクは t=10–15 に空く期間が生じ、磁気ディスクが常に稼働することは不可能です。さらに最終完了時刻は 25 秒より小さくできません。

よくある誤解

  • 全処理時間を単純合算する(3+7+12+10=32)と考えてしまう。CPU とディスクは並行して動作できる時間帯があるため、合算は誤り。
  • ディスク要求は CPU 終了と同時に即処理されるが、順番待ちや前の処理完了を無視して「すぐ終わる」と見なすミス。今回のように A のディスクが先に来ている場合、B のディスクは B の CPU 完了後まで開始できない。
  • 最終完了時刻(makespan)を誤って小さく見積もると使用率が過大評価される。まずガントチャートで最終完了時刻を確定すること。

補足コラム

  • 一般にリソースの使用率(稼働率)U は「その資源が稼働している合計時間 ÷ 観測期間(ここでは全ジョブ完了まで)」で求めます。並列性や待ち時間の有無が総観測期間を短くするため、ガントチャートで並行箇所とアイドル期間を可視化するのが確実です。
  • 順序制約(CPU→ディスク)や先着順処理は待ち時間を生み、観測期間に影響するため、特に I/O を伴うジョブ群ではガントチャート作成を習慣づけるとミスが減ります。

FAQ

Q1: なぜ総経過時間が 25 秒になるのですか?
A1: 最後に終了する処理は B の磁気ディスク(B の CPU 終了は t=15、その後ディスク 10s)で、15+10=25 秒となるためです。
Q2: CPU と磁気ディスクは常に並列に動けますか?
A2: 物理的には並列に動けます(CPU がある間にディスクも動くことがある)が、ジョブの依存関係(CPU 終了→ディスク要求)や先着順処理のため、全ての処理が常に重なるわけではありません。今回の例ではディスクが t=10–15 の間アイドルになります。
Q3: 使用率は少数第何位まで求めればよいですか?
A3: 試験では小数第2位(例 0.60, 0.68)の表記が一般的です。四捨五入の指示があれば従ってください。

関連キーワード: 稼働率、利用率計算、ガントチャート、リソース競合、待ち行列、I/O待ち、処理順序、並行実行
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について