オペレーティングシステム(全131問中96問目)
No.96解説へ
イベントドリブンプリエンプション方式を用いたリアルタイムシステムのタスクA,B,Cそれぞれの処理時間と,イベントが発生してから応答するまでに許容される時間(許容応答時間)を表に示す。タスクの優先順位は,すべてのタスクが許容応答時間以内に応答できるように定めた。
タスクA,B,Cが同時に実行可能状態になったとき,発生する状況はどれか。
タスクA,B,Cが同時に実行可能状態になったとき,発生する状況はどれか。
出典:平成20年春期 問24
- タスクAが実行状態になり,タスクB,Cは実行可能状態のまま。
- タスクAが実行状態になり,タスクB,Cは待ち状態になる。
- タスクBが実行状態になり,タスクA,Cは実行可能状態のまま。
- タスクCが実行状態になり,タスクA,Bは待ち状態になる。
正解 ア問題へ
広告
解説
「タスクの優先順位は,すべてのタスクが許容応答時間以内に応答できるように定めた」という記述から、どのタスクが最初に実行されるかは、処理時間と許容応答時間の関係で決定されることになります。
最も許容応答時間が短いのがタスクAで100ミリ秒です。先にタスクBやタスクCを実行してしまうと、タスクAの許容応答時間を過ぎてしまうことになります。
タスクB→タスクA=80+30=110(×)
タスクC→タスクB=100+30=130(×)
したがってこの3つのタスクが同時に実行可能状態になったとき、優先度が最も高くなるタスクAが実行状態に移され、タスクB,Cは実行可能状態のままタスクAの終了を待つことになります。
最も許容応答時間が短いのがタスクAで100ミリ秒です。先にタスクBやタスクCを実行してしまうと、タスクAの許容応答時間を過ぎてしまうことになります。
タスクB→タスクA=80+30=110(×)
タスクC→タスクB=100+30=130(×)
したがってこの3つのタスクが同時に実行可能状態になったとき、優先度が最も高くなるタスクAが実行状態に移され、タスクB,Cは実行可能状態のままタスクAの終了を待つことになります。
広告