イベントドリブンプリエンプション方式を用いたリアルタイムシステムのタスク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の処理が完了するのを待つ。
【キーワード】
・イベントドリブン
・プリエンプション
【キーワードの解説】
- イベントドリブン(event driven)
入出力の終了やコマンド入力などの割込み(イベント)を引き金にして、次に実行するプロセスを決める方式のことです。
イベント駆動型とも呼ばれます。
- プリエンプション(preemption)
優先順位の高いタスクが実行可能状態になったとき、実行中の優先順位の低いタスクを中断して、優先順位の高いタスクを実行させることです。
もっと、「イベントドリブン」について調べてみよう。
戻る
一覧へ
次へ
|