プリエンプティブな優先度スケジューリング
出典: 令和5年度 秋期 応用情報技術者試験 午前 問17 (IPA)
プリエンプティブな優先度ベースのスケジューリングで実行する二つの周期タスク A 及び B がある。タスク B が周期内に処理を完了できるタスク A 及び B の最大実行時間及び周期の組合せはどれか。ここで,タスク A の方がタスク B より優先度が高く,かつ,タスク A と B の共有資源はなく,タスク切替え時間は考慮しないものとする。また,時間及び周期の単位はミリ秒とする。
- ア A: 最大実行時間 2,周期 4 B: 最大実行時間 3,周期 8
- イ A: 最大実行時間 3,周期 6 B: 最大実行時間 4,周期 9
- ウ A: 最大実行時間 3,周期 5 B: 最大実行時間 5,周期 13
- エ A: 最大実行時間 4,周期 6 B: 最大実行時間 5,周期 15
正解と解説を見る
正解: ア
- ア: A の空き時間で B が 7 ミリ秒の時点で完了し、周期 8 に間に合うので正しい組合せです。
- イ: 9 ミリ秒までのうち A が 6 ミリ秒使うので、B は 3 ミリ秒しか実行できず、4 ミリ秒の処理が終わりません。
- ウ: 13 ミリ秒までのうち A が 9 ミリ秒使うので、B は 4 ミリ秒しか実行できず、5 ミリ秒の処理が終わりません。
- エ: 15 ミリ秒までのうち A が 11 ミリ秒使うので、B は 4 ミリ秒しか実行できず、5 ミリ秒の処理が終わりません。
ポイント
A が優先されるので、A が実行可能になると B は中断されます。B の周期の間に、A が使わない時間で B が終わるかを調べます。
- ア: A 0〜2、B 2〜4 (残り 1)、A 4〜6、B 6〜7 で 完了 (7 ≦ 8)。
- イ: A 0〜3、B 3〜6 (残り 1)、A 6〜9 → 周期 9 までに B は 3 しか実行できず完了しない。
- ウ: 13 ミリ秒までに A は 0, 5, 10 で 3 回起動し 9 ミリ秒使うので、B は 4 しか実行できない。
- エ: 15 ミリ秒までに A は 0, 6, 12 で 3 回起動し 4 + 4 + 3 = 11 ミリ秒使うので、B は 4 しか実行できない。