答え ウ
【解説】
A〜Cのタスクが実行可能状態になってからの、スケジューリング状態を考える。
- 時間0で、タスクA、B、Cが実行可能状態になり、優先度の最も高いタスクAが時間2までCPUを使用する。
- 時間2で、タスクAはI/Oの入出力処理に移行し、CPUが空くのでタスクB、Cで優先度の高いタスクBがCPUを使用する。
- 時間4で、タスクAはI/Oの入出力処理が完了し、タスクBからCPUを横取りしてCPUを使用する。(プリエンプション、タスクBは処理を中断)
- 時間6で、タスクAは処理を完了し、CPUが空くので、タスクB、Cで優先度の高いタスクBがCPUを使用する(処理を再開)。
- 時間7で、タスクBはI/Oの入出力処理に移行し、CPUが空くのでタスクCがCPUを使用する。
- 時間9で、タスクCはI/Oの入出力処理に移行する。
ここで、タスクA、B、CでI/Oは競合しないので、タスクB、Cは同時にI/Oの入出力処理可能である。
これを図にすると下のようになり、この図の時間3からと同じなのはウである。