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

応用情報技術者 2009年 春期 午前217


問題文

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

選択肢

CPUの使用率0.47 磁気ディスク装置の使用率 0.53
CPUの使用率0.60 磁気ディスク装置の使用率 0.68(正解)
CPUの使用率0.79 磁気ディスク装置の使用率 0.89
CPUの使用率0.88 磁気ディスク装置の使用率 1.00

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

CPUと磁気ディスク稼働率【午前2解説】

正解の理由

ジョブAとジョブBがともに実行可能状態で、CPUはA→Bの順に処理します。CPUはAで3秒、Bで12秒の合計15秒稼働し、磁気ディスクはAで7秒、Bで10秒の合計17秒稼働します。時刻経過を追うと、AのCPU終了直後(t=3)にAのディスク処理が始まり(t=3〜10)、BのCPUはt=3〜15に動きます。BのディスクはBのCPUが終了するt=15から始まりt=25で終わります。したがって全体の終了時刻(合計経過時間)は25秒です。
よって CPU 使用率は 、磁気ディスク使用率は となり、これに対応する選択肢は です。

解法ステップ

  1. 各装置の「稼働合計時間」を求める。
    • CPU 稼働時間 = A の CPU(3) + B の CPU(12) =
    • 磁気ディスク稼働時間 = A の disk(7) + B の disk(10) =
  2. 実行順(A→B)とリソースの同時並列性を考慮してガントチャートを作る。
    • CPU: A 0–3、B 3–15
    • Disk: A 3–10、(10–15 は待ちでアイドル)B 15–25
  3. 全体の終了時刻(makespan)を確認する。ここでは最後に終了するのはBのディスクで 秒。
  4. 使用率を計算する。
    • CPU 使用率 =
    • 磁気ディスク使用率 =

選択肢別の誤答解説

  • ア(CPU 0.47, 磁気ディスク 0.53)
    これは CPU とディスクの全作業時間の合計 を全体時間と見なして を計算した場合に得られます。誤りの原因は「全作業時間を単純合計して直列実行とみなす」ことで、実際にはCPUとディスクは同時に稼働できるため総時間は短くなります。
  • ウ(CPU 0.79, 磁気ディスク 0.89)
    これらは および に相当する値です。分母が19秒という仮定は実行の時間的下限や並列性を誤って扱った結果で、実際にはBのCPU完了がt=15でありBのディスク10秒により終了は少なくとも25秒を要するため、19秒という総時間は物理的にあり得ません。
  • エ(CPU 0.88, 磁気ディスク 1.00)
    これは総時間を17秒(磁気ディスクの累計稼働時間)とみなし , とした計算に対応します。磁気ディスクが終始連続稼働していたと仮定した形ですが、実際はディスクはt=10〜15にアイドル時間があり連続稼働ではありません。そのためこの仮定は誤りです。

よくある誤解

  • CPU と磁気ディスクは同時に稼働しないと考えてしまう誤り。実際は独立の資源であり、条件が整えば同時に稼働する(例:BがCPUで実行中にAがディスクを使用する)。
  • 総経過時間を「全処理時間の合計(32秒)」とする誤り。並列性を無視した直列合算は誤答の元。
  • ディスクが常に連続稼働すると仮定してしまう誤り。今回のスケジュールではディスクにアイドル(t=10〜15)が発生するため、ディスク稼働率は1.0にならない。

補足コラム

  • 利用率(使用率)の一般式は「装置の累計稼働時間 ÷ 全体の経過時間(makespan)」です。makespan はガントチャートで最後に完了する時刻を見ればよいです。
  • ガントチャートを描くときは「各ジョブの順序」と「各資源に対するキュー(先着順)」を厳密に守ること。今回のようにジョブごとに CPU → Disk の順で要求が出る場合、CPUの順序がディスクのキュー開始時刻に直接影響します。

FAQ

Q1. なぜ総経過時間が25秒より短くできないのですか?
A1. B のディスク処理(10秒)は B の CPU(終了時刻 t=15)より前に始められないため、B のディスクは最早 t=15 に開始して t=25 に終了します。従って全体終了時刻は少なくとも 25 秒です。
Q2. もしジョブの実行順がB→Aだったらどうなる?
A2. 順序が変わればガントチャートも変わり、ディスクやCPUのアイドル時間の発生箇所が変わるため、使用率とmakespanは異なります。必ず与えられた順序でスケジュールを作ることが重要です。
Q3. 同時に複数の要求を処理できる装置がある場合は?
A3. 並列度がある装置ならその分だけ同時処理ができ、計算は「装置の並列数」を考慮したモデル(例えばサーバの同時接続数)で行います。本問のように単一インスタンスの場合は先着順で直列処理されます。

関連キーワード: ガントチャート、リソース利用率、makespan、同時稼働、スケジューリング計算
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

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

クイズ画面へ遷移する

すぐに利用可能!

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

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