平成31年度春期 エンベデッドシステムスペシャリスト試験 午前II 問7
【問題7】
RTOS を用いたシステムにおいて,優先度逆転の原因となるものはどれか。
優先度の高いタスク A が優先度の低いタスク B の実行に必要なリソースを占有しているが,タスク B はタスク A に必要なリソースを占有していない。
優先度の低いタスク B が優先度の高いタスク A の実行に必要なリソースを占有しているが,タスク A はタスク B に必要なリソースを占有していない。
優先度の低いタスク B と優先度の高いタスク A が,互いに他タスクが必要なリソースを占有し合いデッドロックとなっている。
優先度の低いタスク B のクリティカルセクション実行中は,他の処理に対して割り込み禁止の排他制御を行う。
【解説】
ア: 優先度の高いタスク A が優先度の低いタスク B の実行に必要なリソースを占有しているが,タスク B はタスク A に必要なリソースを占有していない。
誤り。これは優先度逆転ではなく、単純な優先度スケジューリングの挙動です。
イ: 優先度の低いタスク B が優先度の高いタスク A の実行に必要なリソースを占有しているが,タスク A はタスク B に必要なリソースを占有していない。
正しい。優先度逆転は、優先度の低いタスクが共有リソースを占有しているために、優先度の高いタスクが実行できなくなる現象を指します。
ウ: 優先度の低いタスク B と優先度の高いタスク A が,互いに他タスクが必要なリソースを占有し合いデッドロックとなっている。
誤り。これはデッドロックの説明であり、優先度逆転ではありません。
エ: 優先度の低いタスク B のクリティカルセクション実行中は,他の処理に対して割り込み禁止の排他制御を行う。
誤り。割り込み禁止による排他制御は優先度逆転とは直接関係ありません。
【答え】
イ: 優先度の低いタスク B が優先度の高いタスク A の実行に必要なリソースを占有しているが,タスク A はタスク B に必要なリソースを占有していない。
出典:平成31年度 春期 エンベデッドシステムスペシャリスト試験 午前II 問7