IPA過去問ドリル

平成28年度 秋期 応用情報技術者試験 午前 問17

テクノロジ/ソフトウェア

五つのタスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は,表のとおりである。優先度"高"のタスクと,優先度"低"のタスクのうち一つだけを同時に実行する。実行を開始してから,両方のタスクの実行が完了するまでの間のCPUの遊休時間が最も短いのは,どの優先度"低"のタスクとの組合せか。ここで,I/Oは競合せず,OSのオーバーヘッドは考慮しないものとする。また,()内の数字は処理時間(単位 ミリ秒)を示すものとする。 優先度"高"のタスクの動作順序:CPU(3)→I/O(3)→CPU(3)→I/O(3)→CPU(2) (注:本サイトでは原問題の表を文字表記に変換しています)

出典:平成28年度 秋期 応用情報技術者試験 午前 問17

正解:ウ

解説

低優先度タスクのCPU区間が高優先度タスクのI/O区間にちょうど収まるように組み合わされていれば,CPUが遊休する時間は最小になります。ウの低優先度タスクはCPU(3)→I/O(2)→CPU(3)→I/O(1)→CPU(4)であり,高優先度タスクのI/O時間(3ミリ秒,3ミリ秒)の間に低優先度タスクのCPU処理が過不足なく収まり,両タスクの合計CPU時間(8+10=18ミリ秒)と全体の所要時間(18ミリ秒)が一致するため,CPUの遊休時間は0になります。他の選択肢では高優先度タスクと低優先度タスクの双方がI/O待ちになる時間帯が生じ,遊休時間が発生します。

選択肢ごとの解説

  • 誤り。CPU(2)→I/O(5)→CPU(2)→I/O(2)→CPU(3)の場合,高優先度と低優先度の双方がI/O中となる時間帯が生じ,合計2ミリ秒の遊休時間が発生します。
  • 誤り。CPU(3)→I/O(2)→CPU(2)→I/O(3)→CPU(2)の場合,双方がI/O中となる時間帯が生じ,1ミリ秒の遊休時間が発生します。
  • 正しい。CPU(3)→I/O(2)→CPU(3)→I/O(1)→CPU(4)の場合,低優先度タスクのCPU処理が高優先度タスクのI/O時間にちょうど収まり,CPUの遊休時間は0になります。
  • 誤り。CPU(3)→I/O(4)→CPU(2)→I/O(5)→CPU(2)の場合,I/O時間が長く双方がI/O中となる時間帯が生じ,合計4ミリ秒の遊休時間が発生します。
応用情報技術者の過去問を演習モードで解く