平成30年春期試験問題 午前問16
問16解説へ
三つのタスクA~Cの優先度と,各タスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は,表のとおりである。A~Cが同時に実行可能状態になって3ミリ秒経過後から7ミリ秒間のスケジューリング状況を表したものはどれか。ここで,I/Oは競合せず,OSのオーバーヘッドは考慮しないものとする。また,表の()の数字は処理時間を表すものとし,解答群の中の"待ち"はタスクが実行可能状態にあり,CPUの割当て待ちであることを意味する。
正解 ウ問題へ
広告
解説
3タスクが実行可能状態になってから全タスクが完了するまでの、CPUとI/Oの使用状態は次のようになります。
- まずCPUは、最も優先度の高いタスクAの処理を開始する
- 開始から2ミリ秒後、タスクAがI/Oに移る。タスクAがI/Oを行っている間、CPUは次に優先度の高いタスクBを処理する
- 開始から4ミリ秒後、タスクAのI/Oが完了する。優先度はタスクA>タスクBなので、CPUはタスクBを実行可能状態に戻し、タスクAの処理を再開する
- 開始から6ミリ秒後、タスクAが完了する。CPUは優先度の高いタスクBの処理を開始する
- 開始から7ミリ秒後、タスクBがI/Oに移る。タスクBがI/Oを行っている間、CPUは残ったタスクCを処理する
- 開始から9ミリ秒後、タスクCの前半のCPU処理が完了する。I/Oは競合しないのでタスクCはI/O処理を開始する。以降11ミリ秒後までCPUは処理待ち状態になる
- 開始から11ミリ秒後、タスクCのI/Oが完了する。タスクBはI/O中なのでCPUはタスクCの処理を再開する
- 開始から12ミリ秒後、タスクBのI/Oが完了する。優先度はタスクB>タスクCなので、CPUはタスクCを実行可能状態に戻し、タスクBの処理を再開する
- 開始から14ミリ秒後、タスクBが完了する。CPUは残ったタスクCの処理を再開する
- 開始から16ミリ秒後、タスクCが完了する
広告