五つのタスクを単独で実行した場合の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にアクセスすると考える。
ア | |
イ | |
ウ | |
エ |
【キーワード】
・タスクの状態