平成28年度 秋期 応用情報技術者試験 午前 問17
五つのタスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は,表のとおりである。優先度“高”のタスクと,優先度“低”のタスクのうち一つだけを同時に実行する。実行を開始してから,両方のタスクの実行が完了するまでの間のCPUの遊休時間が最も短いのは,どの優先度“低”のタスクとの組合せか。ここで,I/Oは競合せず,OSのオーバヘッドは考慮しないものとする。 また,表の( )内の数字は処理時間を示すものとする。
| 優先度 | 単独実行時の動作順序と処理時間(単位 ミリ秒) | |
|---|---|---|
| 高 | 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) |
キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:ウ
優先度“高”のタスクがCPUを使う間は“低”のタスクは待たされ,“高”のタスクがI/Oを行っている間に“低”のタスクがCPUを使います。“高”のタスクのCPU使用は 0〜3,6〜9,12〜14ミリ秒です。各組合せを追跡すると次のようになります。
-
ア: CPU(2)→I/O(5)→CPU(2)→I/O(2)→CPU(3)
誤り。低は3〜5でCPU,5〜10でI/O,10〜12でCPU,12〜14でI/O,14〜17でCPUです。5〜6と9〜10にCPUが遊休となり,遊休時間は2ミリ秒です。 -
イ: CPU(3)→I/O(2)→CPU(2)→I/O(3)→CPU(2)
誤り。低は3〜6でCPU,6〜8でI/O,9〜11でCPU,11〜14でI/O,14〜16でCPUです。11〜12にCPUが遊休となり,遊休時間は1ミリ秒です。 -
ウ: CPU(3)→I/O(2)→CPU(3)→I/O(1)→CPU(4)
正しい。低は3〜6でCPU,6〜8でI/O,9〜12でCPU,12〜13でI/O,14〜18でCPUです。0〜18の間,CPUは常にどちらかのタスクが使用しており,遊休時間は0ミリ秒で最も短くなります。 -
エ: CPU(3)→I/O(4)→CPU(2)→I/O(5)→CPU(2)
誤り。低は3〜6でCPU,6〜10でI/O,10〜12でCPU,12〜17でI/O,17〜19でCPUです。9〜10と14〜17にCPUが遊休となり,遊休時間は4ミリ秒です。
答え
ウ: CPU(3)→I/O(2)→CPU(3)→I/O(1)→CPU(4)
出典:平成28年度 秋期 応用情報技術者試験 午前 問17