五つのタスクA〜Eの優先度と、各タスクを単独で実行した場合のCPUと入出力装置 (I/O) の動作順序と処理時間は、表のとおりである。優先度“高”のタスクAと、B〜Eのどのタスクを組み合わせれば、組み合わせたタスクが同時に実行を開始してから、両方のタスクの実行が終了するまでの間のCPUの遊休時間をゼロにできるか。ここで、I/Oは競合せず、OSのオーバヘッドは無視できるものとする。また、表の
( ) 内の数字は処理時間を表すものとする。
┌───┬───┬───────────────────┐
│タスク│優先度│単独実行時の動作順序と処理時間(ミリ秒)│
├───┼───┼───────────────────┤
│ A │ 高 │CPU(3)→I/O(3)→CPU(3)→I/O(3)→CPU(2)│
┌─┼───┼───┼───────────────────┤
│ア│ B │ 低 │CPU(2)→I/O(5)→CPU(2)→I/O(2)→CPU(3)│
├─┼───┼───┼───────────────────┤
│イ│ C │ 低 │CPU(3)→I/O(2)→CPU(2)→I/O(3)→CPU(2)│
├─┼───┼───┼───────────────────┤
│ウ│ D │ 低 │CPU(3)→I/O(2)→CPU(3)→I/O(1)→CPU(4)│
├─┼───┼───┼───────────────────┤
│エ│ E │ 低 │CPU(3)→I/O(4)→CPU(2)→I/O(5)→CPU(2)│
└─┴───┴───┴───────────────────┘
ウ
■: CPU ◆: I/O として、選択肢それぞれで、処理状況を調べる。
ア
時間 :12345678910111213141516171819
タスクA:■■■◆◆◆■■■◆◆◆■■
タスクB: ■■◆◆◆◆◆■■◆◆■■■
有休時間は2ミリ秒
イ
時間 :12345678910111213141516171819
タスクA:■■■◆◆◆■■■◆◆◆■■
タスクC: ■■■◆◆ ■■◆◆◆■■
有休時間は1ミリ秒
ウ
時間 :12345678910111213141516171819
タスクA:■■■◆◆◆■■■◆◆◆■■
タスクD: ■■■◆◆ ■■■◆ ■■■■
有休時間はなし
エ
時間 :12345678910111213141516171819
タスクA:■■■◆◆◆■■■◆◆◆■■
タスクE: ■■■◆◆◆◆■■◆◆◆◆◆■■
有休時間は4ミリ秒
問17 | 目次 | 問19 |