平成30年度 春期 午前Ⅱ 問10
オペレーティングシステム
優先度逆転に関する問題
優先度に基づくプリエンプティブなスケジューリングを行うリアルタイム OS において,タスクの優先度逆転が発生する可能性があるのはどれか。
- ア排他制御
- イポーリング
- ウリエントラント
- エ割込み
答えと解説を見る
✓ これが正解ア排他制御
解説
排他制御で低優先度タスクが資源を持つと優先度逆転が起こり得ます。
優先度逆転は、優先度の高いタスクが、優先度の低いタスクに実質的に追い越されてしまう現象です。典型的には、低優先度のタスクが排他制御で共有資源を確保している間に、高優先度のタスクが同じ資源を要求して待ち状態になります。そこへ、資源とは関係の無い中優先度のタスクが実行可能になると、中優先度のタスクが低優先度のタスクより先に動くため、資源の解放が遅れ、高優先度のタスクはさらに待たされます。この状況は、排他制御による資源の待ちがあって初めて生じます。対策として、資源を持つタスクの優先度を一時的に引き上げる方法が用いられます。待ちの原因が資源の取り合いかどうかで判断できます。
ほかの選択肢はなぜ違うのか
- イポーリング:ポーリングは、タスクが周期的に状態を見に行って変化を検出する方式です。他のタスクとの間で資源を確保して待たせ合う関係が生じないので、それだけで高優先度のタスクが低優先度のタスクに待たされる原因にはなりません。
- ウリエントラント:リエントラントは、同じプログラムを複数のタスクから同時に呼び出しても正しく動く性質のことです。プログラムの作り方に関する性質であり、資源の確保をめぐって高優先度のタスクを待たせる仕組みではないので、それ自体は優先度逆転の原因になりません。
- エ割込み:割込みは、外部の事象などをきっかけに実行中の処理を中断して割込み処理を行う仕組みです。割込み処理がタスクより優先して動くのは設計どおりの振る舞いで、タスクどうしの優先度が逆転する現象とは別の話です。
この問題の用語
- 排他制御同じデータを同時に更新しても、矛盾が起きないようにする仕組みです。先の処理が終わるまで、後の処理を待たせて防ぎます。
出典:平成30年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問10
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問6:デッドロックに関する問題(排他制御)
- 令和5年度 秋期 午前Ⅱ 問8:スタベーションに関する記述(排他制御)
- 平成31年度 春期 午前Ⅱ 問8:セマフォに関する問題(排他制御)
- 平成31年度 春期 午前Ⅱ 問7:優先度逆転の原因となるもの(排他制御)
- 平成30年度 春期 午前Ⅱ 問8:セマフォに関する記述(排他制御)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)