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

基本情報技術者 2011年 春期 午前(科目A)18


問題文

CPUが1台で、入出力装置(I/O)が同時動作可能な場合の二つのタスクA, Bのスケジューリングは図のとおりであった。この二つのタスクにおいて、入出力装置がCPUと同様に、一つの要求だけを発生順に処理するように変更した場合、両方のタスクが終了するまでのCPU使用率はおよそ何%か。
基本情報技術者 2011年 春期 午前(科目A) 問18の問題画像

選択肢

43
50
60(正解)
75

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

CPUとI/Oの排他スケジューリング【午前解説】

正解の理由

図の目盛から各CPUブロックは同じ長さ(1単位)、各I/Oブロックはそれより長く(図では2単位)見えるため、この仮定でスケジュールを時刻ベースに再現すると、CPUの総実行時間は6単位、全経過時間(両者終了まで)は10単位になります。よってCPU使用率は 、すなわち選択肢のうち の60% が正しいです。

解法ステップ

  1. 図の目盛を単位として各ブロック長を読み取る(CPUブロック = 1単位、I/Oブロック = 2単位と仮定)。
  2. I/Oが逐次(1台でFIFO)になった場合の時系列を追う(I/O使用中の要求はキューに入る)。
  3. 時刻ごとにCPUが誰を実行しているか、I/Oが誰を処理しているかを並べて書く。
  4. CPUの稼働区間を合計し(ここでは6単位)、最終終了時刻(ここでは10)で割る:
  5. 百分率に直して60% とする。
具体的な時刻スケジュール(単位は図の目盛)
  • 0–1: AのCPU1(CPU稼働)
  • 1–3: AのI/O(I/Oが占有)/1–2: BのCPU1(CPU稼働) → 2–3: CPUはアイドル
  • 2(BのI/O要求発生)はキューに入り3–5に実行(AのI/O完了後)
  • 3–4: AのCPU2(CPU稼働)
  • 4–5: CPUアイドル(次のCPU要求はまだI/O待ち)
  • 5–6: BのCPU2(CPU稼働)/5–7: AのI/O(キューで実行)
  • 6–7: CPUアイドル
  • 7–8: AのCPU3(CPU稼働)
  • 8–9: CPUアイドル(BのI/O実行中)
  • 9–10: BのCPU3(CPU稼働)
    CPU稼働合計 = 1+1+1+1+1+1 = 6、全経過時間 = 10 → CPU使用率 =

選択肢別の誤答解説

  • ア: 43% — CPUとI/Oの長さ比を誤って読み、I/Oの待ち時間を過小評価した結果。
  • イ: 50% — CPUの稼働時間(6単位)または全経過時間(10単位)のどちらかを間違えて半分とした誤り。
  • : 60% — 図の目盛比とFIFOの逐次処理を正しく適用した値。
  • エ: 75% — I/Oの直列化による待ち(CPUアイドル)を無視して、ほぼ並列動作のまま計算した誤り。

よくある誤解

  • I/Oが並列で動く元の図のスケジュールと混同して「I/Oの重なりでCPUは常に稼働する」と誤解する。逐次化ではI/Oが待ち行列を作りCPUにアイドルが発生する。
  • 各ブロックの長さを正確に数えず「CPUブロック=I/Oブロック」と仮定してしまうと誤った割合を出す。図の目盛で長さ比を確認すること。
  • I/Oの「要求発生順(FIFO)」という条件を見落とし、優先度や入れ替えができると誤って計算する。

補足コラム

  • この種の問題は「ブロックの相対長さを目盛で読み取る」「I/Oの並列性(同時処理/逐次処理)」「要求の処理順(FIFOか否か)」を正確に把握する力が問われます。
  • 一般式:CPU使用率 = (全タスクのCPU合計時間) / (全体の経過時間)。逐次I/Oにより経過時間はI/Oのキュー待ちで伸びるため使用率が低下します。
  • 改善策の例:I/Oデバイスの増設や非同期処理、I/OとCPUのオーバーラップを増やすスケジューリングでCPU使用率が向上します。

FAQ

Q. 図のブロック長を変えたら答えは変わりますか?
A. はい。正解は図から読み取れる比率に依存します。今回の図ではCPU=1、I/O=2と読むのが自然で、これが根拠です。
Q. FIFOでなく優先度付きキューだったら?
A. 要求の順番が変わるため待ち順が異なり、CPUのアイドルの位置が変化して全経過時間も変わります。問題文の条件に従ってFIFO(発生順)を使うことが重要です。
Q. 元の図でI/Oが同時動作可能ならどうなる?
A. I/Oが並列で動けばI/Oの待ち行列が発生せず、CPUのアイドルは減少してCPU使用率が上がります(元の図はそれを示しているケースが多い)。

関連キーワード: CPU使用率、スケジューリング、I/O待ち、FIFO、CPU利用率、システム性能、待ち行列理論
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

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

クイズ画面へ遷移する

すぐに利用可能!

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

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