タスクのスケジューリングと完了条件

正解は ア です。 優先度の高いタスク A は周期ごとに最優先で実行されます。優先度の低いタスク B は,自身の周期 $T_B$ 内でタスク A に割り込まれながら実行されます。 最悪の場合,タスク B の周期 $T_B$ の間にタスク A が起動する回数は最大で $\lceil T_B / T_A \rceil$ 回となります。この間に必要な合計実行時間が $T_B$ 以下であればタスク B は周期内に完了できます。 ア: タスク B の周期 8 ミリ秒の間に,タスク A(周期 4)は最大で $8 / 4 = 2$ 回実行。タスク A の実行時間は $2 \times 2 = 4$ ミリ秒。タスク B の実行時間 3 ミリ秒を加えると $4 + 3 = 7$ ミリ秒 $\le 8$ ミリ秒となり,周期内に完了可能。 イ: タスク B の周期 9 ミリ秒の間に,タスク A(周期 6)は最大で 2 回起動しうる(時刻 0 と時刻 6)。タスク A の実行時間 $3 \times 2 = 6$ ミリ秒,タスク B の実行時間 4 ミリ秒,合計 $6 + 4 = 10$ ミリ秒 $> 9$ ミリ秒となり完了不可。 ウ: タスク B の周期 13 ミリ秒の間に,タスク A(周期 5)は最大で 3 回起動しうる(時刻 0, 5, 10)。タスク A の実行時間 $3 \times 3 = 9$ ミリ秒,タスク B の実行時間 5 ミリ秒,合計 $9 + 5 = 14$ ミリ秒 $> 13$ ミリ秒となり完了不可。 エ: タスク B の周期 15 ミリ秒の間に,タスク A(周期 6)は最大で 3 回起動しうる(時刻 0, 6, 12)。タスク A の実行時間 $4 \times 3 = 12$ ミリ秒,タスク B の実行時間 5 ミリ秒,合計 $12 + 5 = 17$ ミリ秒 $> 15$ ミリ秒となり完了不可。 したがって,タスク B が周期内に処理を完了できる組合せはアとなります。 選択肢 B の周期内の A の実行時間 B の実行時間 合計 B の周期 判定 ア 2×2=4 3 7 8 ○ イ 3×2=6 4 10 9 × ウ 3×3=9 5 14 13 × エ 4×3=12 5 17 15 ×

プリエンプティブな優先度ベースのスケジューリングで実行する二つの周期タスク A及びBがある。タスクBが周期内に処理を完了できるタスクA及びBの最大実行時間及び周期の組合せはどれか。ここで、タスク Aの方がタスク B より優先度が高く、かつ、タスク AとBの共有資源はなく、タスク切替え時間は考慮しないものとする。また、時間及び周期の単位はミリ秒とする。

出典令和5年度 秋期 高度情報処理技術者試験 午前Ⅰ 問6
ア
| 最大実行時間 | 周期タスクA | 2 | 4タスクB | 3 | 8
イ
| 最大実行時間 | 周期タスクA | 3 | 6タスクB | 4 | 9
ウ
| 最大実行時間 | 周期タスクA | 3 | 5タスクB | 5 | 13
エ
| 最大実行時間 | 周期タスクA | 4 | 6タスクB | 5 | 15