プリエンプティブな優先度ベーススケジューリングで動作する三つの周期タスクA、B、Cがある。
タスクCが実行可能になってから完了するまでの時間は最大何ミリ秒か。
周期(ミリ秒) | 最大実行時間(ミリ秒) | 優先度 | |
タスクA | 400 | 50 | 高 |
タスクB | 650 | 200 | 中 |
タスクC | 700 | 300 | 低 |
ア | 300 |
イ | 550 |
ウ | 600 |
エ | 700 |
答え ウ
【解説】
タスクA、B、Cが同時に実行可能になったとし、その時間を0とすると、まず、優先度が高のタスクAを50ミリ秒実行する。
次に優先度が中のタスクBを200ミリ秒実行し、タスクCを実行するが、タスクCを実行して150ミリ秒後にタスクAの周期400ミリ秒が経過するので、タスクCの実行件がタスクAに移りタスクAを実行し、タスクAの処理終了後にタスクCの続きを実行するので、タスクCの終了は実行可能になってから600ミリ秒(ウ)になる。
【キーワード】
・プリエンプティブ