優先度に基づくプリエンプティブスケジューリングが行われる二つのタスクA、Bがある。
優先度はAの方が高く、制約条件は表のとおりである。
Bが実行中、割込みによってAに実行を移すとき、A、Bともデッドラインを超えないためには、割込みハンドらを何マイクロ秒以内で処理する必要があるか。
ここで、和t\り込み発生から割込みハンドらが起動するまでの時間、及びタスク切替えによるオーバヘッドの時間は無視するものとする。
単位 マイクロ秒
|
ア | 20 |
イ | 30 |
ウ | 40 |
エ | 50 |
答え ア
【解説】
タスクAについて考えると、タスクA実行中に割込みが発生すると、タスクAの処理を中断して割込み処理が実行され、その後で中断していたタスクAの処理が行われるので、割込み処理に許された時間は
60 - 30 = 30マイクロ秒
になる。
タスクBについて考えると、タスクB実行中に割込みが発生すると、タスクAの処理を中断して割込み処理が実行され、その後でタスクAが実行されてから、中断していたタスクAの処理が行われるので、割込み処理に許された時間は
100 - 50 - 30 = 20マイクロ秒
(ア)になる。
【キーワード】
・プリエンプティブ