五つのタスクを単独で実行した場合の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) |
答え ウ
【解説】
優先度“高”のタスクと優先度“低”のタスクが同時に実行を開始したときの処理状態を図にする。
は優先度“高”のタスクの処理、
は優先度“低”のタスクの処理、
はCPU遊休時間であり、I/Oは競合しないので、各タスクは別のI/Oにアクセスすると考える。
| ア | ![]() |
| イ | ![]() |
| ウ | ![]() |
| エ | ![]() |
【キーワード】
・タスクの状態