イベントドリブンプリエンプション方式を用いたリアルタイムシステムのタスクA、B、Cそれぞれでの処理時間と、イベントが発生してから応答するまでに許容される時間(許容応答時間)を表に示す。
タスクの優先順位は、すべてのタスクが許容応答時間以内に応答できるように定めた。
タスクA、B、Cが同時に実行可能状態になったとき、発生する状況はどれか。
タスク | 処理時間(ミリ秒) | 許容応答時間(ミリ秒) |
A | 30 | 100 |
B | 80 | 300 |
C | 100 | 200 |
ア | タスクAが実行状態になり、タスクB、Cは実行可能状態のまま。 |
イ | タスクAが実行状態になり、タスクB、Cは待ち状態になる。 |
ウ | タスクBが実行状態になり、タスクA、Cは実行可能状態のまま。 |
エ | タスクCが実行状態になり、タスクA、Bは待ち状態になる。 |
答え ア
【解説】
タスクA、B、Cの許容応答時間を見ると、タスクAが100ミリ秒で一番短いので、タスクAの優先度を一番高くする必要がある。
同様にタスクB、Cを比較するとタスクCの許容応答時間が短いのでタスクCの優先度を高くする。
したがって、タスクの優先度はA > C > Bになる。
この条件で、タスクA、B、Cが同時に実行可能状態になったときは、タスクAが実行状態になり、タスクB、Cは実行可能状態のまま(ア)でタスクAの処理が完了するのを待つ。
【キーワード】
・イベントドリブン
・プリエンプション