平成30年春期試験問題 午前問17
問17解説へ
三つのタスクA~Cの優先度と各タスクを単独で実行した場合のCPUと入出力(I/O)装置の動作順序と処理時間は,表のとおりである。優先順位方式のタスクスケジューリングを行うOSの下で,三つのタスクが同時に実行可能状態になってから,タスクCが終了するまでに,タスクCが実行可能状態にある時間は延べ何ミリ秒か。ここで,I/Oは競合せず,OSのオーバーヘッドは考慮しないものとする。また,表中の()内の数字は処理時間を示すものとする。
- 6
- 8
- 10
- 12
正解 ウ問題へ
広告
解説
優先順位方式は、実行可能状態にあるタスクの中から最も優先度の高いタスクを実行していく方式です。開始時点からすべてのタスクが完了するまでの経過は下図のようになります。
- CPUは最も優先度の高いタスクAの処理を開始する。他2つのタスクは実行可能状態のまま待機する。
- 2ミリ秒後にタスクAのCPU処理が完了し、タスクAはI/Oに移る。残る2つのタスクの優先度は「タスクB>タスクC」なので、CPUはタスクBの処理を開始する。
- 4ミリ秒後にタスクBのCPU処理が完了する。I/Oは競合しないのでタスクBはI/Oに移る。CPUは残ったタスクCの処理を開始する。
- 6ミリ秒後にタスクCのCPU処理が完了する。タスクCはI/Oに移る。
- 8ミリ秒後に全タスクのI/Oが完了する。CPUは最も優先度の高いタスクAの処理を開始し、他2つのタスクは実行可能状態に移る。
- 12ミリ秒後にタスクAの全処理が完了する。残る2つのタスクの優先度は「タスクB>タスクC」なので、CPUはタスクBの処理を開始する。
- 14ミリ秒後にタスクBの全処理が完了する。CPUは残ったタスクCの処理を開始する。
- 17ミリ秒後にタスクCの全処理が完了し、全てのタスクの完了となる。
広告