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

応用情報技術者 2010年 秋期 午前218


問題文

五つのタスク A〜Eの優先度と、各タスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は、表のとおりである。優先度 “高”のタスク Aと B〜Eのどのタスクを組み合わせれば、組み合わせたタスクが同時に実行を開始してから、両方のタスクの実行が終了するまでの間のCPUの遊休時間をゼロにできるか。ここで,IO は競合せず、OSのオーバーヘッドは無視できるものとする。また、表の( )内の数字は処理時間を表すものとする。
応用情報技術者 2010年 秋期 午前2 問18の選択肢の画像

選択肢

(正解)

五つのタスクのCPU遊休時間ゼロ化問題【午前2 解説】

要点まとめ

  • 結論:優先度高のタスクAと低優先度のタスクDを組み合わせるとCPUの遊休時間をゼロにできる。
  • 根拠:AとDのCPUとI/Oの処理時間が交互に重ならず、CPUが常にどちらかのタスクで稼働するため。
  • 差がつくポイント:CPUとI/Oの処理時間の並びを正確に把握し、両タスクのCPU処理が重ならず隙間なく続くかを検証すること。

正解の理由

タスクAはCPU(3)→I/O(3)→CPU(3)→I/O(3)→CPU(2)の順で処理し、CPU処理の合計は8ミリ秒です。
タスクDはCPU(3)→I/O(2)→CPU(3)→I/O(1)→CPU(4)でCPU処理合計は10ミリ秒。
両者を同時開始すると、AがI/O中の間にDがCPUを使い、DがI/O中はAがCPUを使うため、CPUの遊休時間が発生しません。
他の選択肢はCPU処理時間の重なりやI/O時間の長さでCPUの空き時間が生じます。

よくある誤解

CPUとI/Oの処理時間を単純に合計して比較しがちですが、重要なのは両タスクのCPU処理が交互に隙間なく続くかどうかです。
また、I/Oが競合しないため、I/O待ち時間はCPUの遊休時間には影響しません。

解法ステップ

  1. 各タスクのCPUとI/Oの処理時間を順に確認する。
  2. タスクAのCPU処理時間の合計とI/O処理時間の合計を把握する。
  3. 他のタスクB〜EのCPUとI/Oの処理時間を同様に確認する。
  4. タスクAのI/O時間中に他タスクがCPUを使えるかを検証する。
  5. 両タスクのCPU処理が重ならず、CPUが常に稼働する組み合わせを探す。
  6. 遊休時間がゼロになる組み合わせを選択する。

選択肢別の誤答解説

  • ア(B):BのI/O時間が長くCPU処理が短いため、CPUの空き時間が発生しやすい。
  • イ(C):CのCPU処理時間が短く、AのCPU処理と重なる部分がありCPU遊休時間が生じる。
  • ウ(D):CPUとI/Oの処理時間が交互にうまく噛み合い、CPU遊休時間がゼロになる。
  • エ(E):EのI/O時間が長く、CPU処理が短いためCPUの空き時間が発生する。

補足コラム

CPUとI/Oの処理時間を交互に行うタスクのスケジューリングでは、CPUの遊休時間を減らすことが効率的なシステム運用に繋がります。
この問題はプリエンプティブな優先度スケジューリングではなく、CPUとI/Oの処理時間の重なりを考慮した非プリエンプティブな観点で解く必要があります。

FAQ

Q: なぜI/Oの競合がないと仮定しているのですか?
A: 問題文でI/Oは競合しないと明記されており、I/O待ち時間はCPUの遊休時間に影響しないためです。
Q: CPUの遊休時間とは何ですか?
A: CPUが処理を行わずに待機している時間のことで、効率的なスケジューリングではこれを最小化します。

関連キーワード: CPUスケジューリング、I/O待ち時間、タスク優先度、処理時間分析、遊休時間ゼロ
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

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

クイズ画面へ遷移する

すぐに利用可能!

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

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