二つのタスクの優先度と各タスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は、表のとおりである。
二つのタスクが同時に実行可能状態になってから、全てのタスクの実行が終了するまでの経過時間は何ミリ秒か。
ここで、CPUは1個であり、I/Oの同時動作はできないものとし、OSのオーバヘッドは考慮しないものとする。
また、表の( )内の数字は処理時間を示すものとする。
優先度 | 単独実行時の動作順序と処理時間(ミリ秒) |
高 | CPU(2) → I/O(7) → CPU(3) → I/O(4) → CPU(3) |
低 | CPU(2) → I/O(3) → CPU(2) → I/O(2) → CPU(3) |
ア | 19 |
イ | 20 |
ウ | 21 |
エ | 22 |
答え エ
【解説】
複数の優先度のタスクが同時に動作する場合、優先度が高いタスクがCPUとI/O装置を優先的に使い、優先度が低いタスクは優先度の高いタスクの空き時間に資源を使用します。
問題の表の時間の経過とCPUとI/O装置の使用状況を図にすると次のようになります。
したがって、二つのタスクが同時に実行可能状態になってから、全てのタスクの実行が終了するまでの経過時間は22ミリ秒(エ)です。
【キーワード】
・タスクの状態