令和5年度秋期 応用情報技術者試験 午前 問17
プリエンプティブな優先度ベースのスケジューリングで実行する二つの周期タスク 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
解答・解説を見る
正解:ア
AI解説
優先度の高いタスクAが周期ごとに実行され、その合間にタスクBが実行される場合、タスクBの周期内でタスクAが最大何回実行され得るかを踏まえて、タスクBの最悪完了時刻(自身の実行時間+その間に割り込むタスクAの合計実行時間)がタスクBの周期以下になる組合せを選ぶ必要がある。選択肢アでは、B周期8ms中にA(周期4ms)が最大2回入り込むため、完了時刻は3+2×2=7msとなり周期8ms以内に収まる。 ア: タスクA(最大実行時間2ms/周期4ms)とタスクB(最大実行時間3ms/周期8ms)の組合せでは、B周期内にAが最大2回実行されても3+2×2=7≤8となり周期内に完了できるため正解である。 イ: タスクA(3ms/6ms)とタスクB(4ms/9ms)では、B周期内にAが最大2回入り込み4+2×3=10>9となって周期内に完了できない。 ウ: タスクA(3ms/5ms)とタスクB(5ms/13ms)では、B周期内にAが最大3回入り込み5+3×3=14>13となって周期内に完了できない。 エ: タスクA(4ms/6ms)とタスクB(5ms/15ms)では、B周期内にAが最大3回入り込み5+3×4=17>15となって周期内に完了できない。 💡 優先度ベースのプリエンプティブスケジューリングでは、低優先度タスクの最悪完了時刻=自身の実行時間+(高優先度タスクの周期内発生回数×その実行時間)という式を使い、周期以下に収まるかを確認するのが定石である。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。