2023年 秋期 応用情報技術者 午前 問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


答え ア


解説
タスクBが周期内に処理を完了できるためには、タスクBの周期時間がタスクBの最大実行時間とこの間に動作するタスクAの最大実行時間より大きければいいので、条件を満たす時間の関係式は以下のようになる。
 タスクBの周期 ≥ タスクBの最大実行時間 + タスクAの最大実行時間×(タスクBの周期÷タスクAの周期の小数点以下を切上げ)
これを満足する組合せは

タスクの最大実行時間 タスクの周期
タスクA 2 4
タスクB 3 8
である。


キーワード
・プリエンプティブ

キーワードの解説
  • プリエンプティブ(preemptive)
    システムによって、複数のタスクで処理の優先度を付け、優先度の高いタスクは、優先度の低いタスクを停めても処理する必要がある場合、処理中の優先度の低いタスクを止めて、優先度の高いタスクを動作させることをプリエンプティブな処理という。
    処理の横取りと考えるとわかりやすい。

もっと、「プリエンプティブ」について調べてみよう。

戻る 一覧へ 次へ