平成31年 春期 エンベデッドシステムスペシャリスト 午前II 問7

RTOSを用いたシステムにおいて、優先度逆転の原因となるものはどれか。

 ア  優先度の高いタスクAが優先度の低いタスクBの実行に必要なリソースを占有しているが、タスクBはタスクAに必要なリソースを占有していない。
 イ  優先度の低いタスクBが優先度の高いタスクAの実行に必要なリソースを占有しているが、タスクAはタスクBに必要なリソースを占有していない。
 ウ  優先度の低いタスクBと優先度の高いタスクAが、互いに短タスクが必要なリソースを占有しデッドロックとなっている。
 エ  優先度の低いタスクBのクリティカルセクション実行中は、他の処理に対して割込み禁止の排他制御を行う。


答え イ


解説
通常、RTOSを用いたシステムでは優先度の高いタスクが実行可能になると、実行中の優先度の低いタスクの処理が中断され、優先度の高いタスクが動作する。
このとき、優先度の高いタスクと低いタスクで同じリソースを占有して使用するようになっていた場合、先に優先度の低いタスクがこのリソースを占有していると、優先度の高いタスクはリソースの占有ができないためリソースの開放待ち状態になり、優先度の低いタスクの処理が行われ、これが優先度逆転現象である。
優先度逆転は見た目の動作としては問題ないこともあるが、タスク優先度の設計と異なる動作なので不具合となる。


キーワード
・優先度方式

キーワードの解説
  • 優先度方式
    各タスクに割当てた優先順位に基づいてタスクを切り替える方法で、µITRONなどリアルタイムOS(RTOS)で採用されている。
    処理中のタスクより優先度の高いタスクが動作する準備ができたときに、処理中のタスクを止めて、優先度の高いタスクを動作させることをプリエンプションと呼ぶ。

もっと、「優先度方式」について調べてみよう。

戻る 一覧へ 次へ