CPUの遊休時間は何ミリ秒か

正解は イ (3ミリ秒)です。 CPUは1つなので、 実行可能なタスクのうち優先度の最も高いもの がCPUを使います。I/Oは競合しないので、各タスクのI/Oは並行して進みます。時間の流れに沿って図にすると、CPUが空く時間がわかります。 0〜3:高がCPU(その後I/O 3〜8) 3〜5:中がCPU(その後I/O 5〜11) 5〜6:低がCPU(その後I/O 6〜11) 6〜8:全タスクがI/O中で CPUは空き (2ミリ秒) 8〜10:高が残りのCPU 2ミリ秒を実行して終了 10〜11:中・低ともI/O中で CPUは空き (1ミリ秒) 11〜13:中、13〜14:低がCPUを使い、全て終了

三つのタスクの優先度と,各タスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は,表のとおりである。優先度方式のタスクスケジューリングを行うOSの下で,三つのタスクが同時に実行可能状態になってから,全てのタスクの実行が終了するまでの,CPUの遊休時間は何ミリ秒か。ここで,CPUは1個であり,1CPUは1コアで構成され,I/Oは競合せず,OSのオーバーヘッドは考慮しないものとする。また,表の( )内の数字は処理時間を示すものとする。

優先度

単独実行時の動作順序と処理時間(ミリ秒)

高

CPU(3) → I/O(5) → CPU(2)

中

CPU(2) → I/O(6) → CPU(2)

低

CPU(1) → I/O(5) → CPU(1)

出典平成30年度 秋期 基本情報技術者試験 午前 問16
ア
2
イ
3
ウ
4
エ
5