IPA過去問ドリル

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

テクノロジ/ソフトウェア

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

出典:平成31年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問7

正解:イ

解説

優先度逆転は,優先度の低いタスクが,優先度の高いタスクの実行に必要なリソース(共有資源)を先に占有してしまうことによって,本来優先されるはずの高優先度タスクが,低優先度タスクの実行終了まで待たされてしまう現象です。低優先度タスクがリソースを占有している間に,仮に中優先度のタスクが割り込むと,低優先度タスクの実行がさらに遅れ,結果として高優先度タスクの待ち時間が一層長くなる場合もあります。

選択肢ごとの解説

  • 誤り。優先度の高いタスクが,優先度の低いタスクの実行に必要なリソースを占有している状況は,優先度逆転の原因にはなりません。高優先度タスクは自分の必要なリソースを既に確保できているため,低優先度タスクの完了を待つ必要がないからです。
  • 正しい。優先度の低いタスク B が,優先度の高いタスク A の実行に必要なリソースを占有していると,タスク A はタスク B がリソースを解放するまで実行できなくなり,優先度が逆転した状態になります。
  • 誤り。二つのタスクが互いに相手の必要とするリソースを占有し合っている状態はデッドロック(膠着状態)であり,優先度逆転とは異なる現象です。
  • 誤り。クリティカルセクション実行中に割込み禁止による排他制御を行うこと自体は,優先度逆転の直接の原因ではなく,共有資源へのアクセスを保護するための一般的な排他制御の手法です。
エンベデッドシステムスペシャリストの過去問を演習モードで解く