五つのタスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は、表のとおりである。優先度"高"のタスクと、優先度"低"のタスクのうち一つだけを同時に実行する。実行を開始してから、両方のタスクの実行が完了するまでの間のCPUの遊休時間が最も短いのは、どの優先度"低"のタスクとの組合せか。ここで、I/Oは競合せず、OSのオーバヘッドは考慮しないものとする。また、表の( )内の数字は処理時間を示すものとする。
高優先度のI/O待ち時間に低優先度のCPU処理を詰める
| 優先度 | 単独実行時の動作順序と処理時間(単位 ミリ秒) |
|---|---|
| 高 | CPU(3)→I/O(3)→CPU(3)→I/O(3)→CPU(2) |
| 低(ア) | CPU(2)→I/O(5)→CPU(2)→I/O(2)→CPU(3) |
| 低(イ) | CPU(3)→I/O(2)→CPU(2)→I/O(3)→CPU(2) |
| 低(ウ) | CPU(3)→I/O(2)→CPU(3)→I/O(1)→CPU(4) |
| 低(エ) | CPU(3)→I/O(4)→CPU(2)→I/O(5)→CPU(2) |
選択肢
- ア低: CPU(2)→I/O(5)→CPU(2)→I/O(2)→CPU(3)
- イ低: CPU(3)→I/O(2)→CPU(2)→I/O(3)→CPU(2)
- ウ低: CPU(3)→I/O(2)→CPU(3)→I/O(1)→CPU(4)
- エ低: CPU(3)→I/O(4)→CPU(2)→I/O(5)→CPU(2)
正解と解説
正解:ウ 低: CPU(3)→I/O(2)→CPU(3)→I/O(1)→CPU(4)
優先度が高いタスクは CPU3→I/O3→CPU3→I/O3→CPU2 なので、高優先度がI/O中の 3〜6ミリ秒と 9〜12ミリ秒がCPUの空き窓になり、その後は14ミリ秒以降が空きます。選択肢ウの低優先度タスクは、この空き窓にCPU3ミリ秒とCPU3ミリ秒がちょうど収まり、間のI/Oも高優先度のCPU実行中に終わります。結果としてCPUは開始から終了まで途切れず動き続け、遊休時間は0になります。他の組合せでは空き窓とCPU要求の長さが合わず、必ず遊休が生じます。
選択肢ごとの解説
- ア最初のCPUが2ミリ秒で空き窓を使い切れず、その後のI/Oも長いため遊休が生じます。
- イ2回目のCPUが2ミリ秒しかなく、9〜12ミリ秒の空き窓を埋めきれません。
- ウ正解。空き窓の3ミリ秒ずつにCPU要求がぴたりと収まり、遊休時間が生じません。
- エI/Oが4ミリ秒と5ミリ秒と長く、空き窓の途中でCPUが空いてしまいます。
同じ分野の他の問題
- 二つのタスクが共用する二つの資源を排他的に使用するとき、デッドロックが発生するおそれがある。このデッドロックの発生を防ぐ…2019年度 春期 午前 問18
- スレッドセーフの説明として、適切なものはどれか。2025年度 秋期 午前 問17
- 一つのI2Cバスに接続された二つのセンサーがある。それぞれのセンサー値を読み込む二つのタスクを排他的に制御したい。利用す…2025年度 秋期 午前 問16
- 五つのジョブA〜Eに対して、ジョブの多重度が1で、処理時間順方式のスケジューリングを適用した場合、ジョブBのターンアラウ…2025年度 秋期 午前 問15
- 記憶領域を管理するアルゴリズムのうち、ベストフィット方式の特徴として、適切なものはどれか。2025年度 秋期 午前 問5
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。