優先度スケジューリングとは?ゆうせんどすけじゅーりんぐ
優先度スケジューリングとは、実行可能状態のタスクのうち優先度が最も高いものへプロセッサを与える方式で、RTOSの基本形。同一優先度内はFIFOかラウンドロビンで裁く。プリエンプティブであれば高優先度タスクの起床で即座に切り替わるため、応答時間の上限を設計段階で押さえられる。
最終更新:2026-10-06
エンベデッドSPを最短で暗記・合格する →背景
時分割で公平に回す汎用OSの発想では、締切のあるタスクが後回しになり得る。組込みが求めるのは公平さではなく期限を守ることなので、重要さの順に静的な優先度を与え、いつでも横取りできる形にした。周期タスクの締切保証を数式で扱う土台でもあり、周期が短いタスクほど高優先度に置くレートモノトニック割当てが理論的な裏付けを与える。
具体例
μITRON系やFreeRTOSでは、優先度と実行可能状態だけで次に走るタスクが決まる。周期1msのモータ電流制御を最上位、10msの温度監視を中位、100msの表示更新を下位へ置けば、レートモノトニックの前提どおり周期の短い順に優先度が並ぶ。
試験での引っ掛け
高優先度タスクが立て続けに来れば低優先度は永久に走れない(スタベーション)。さらに、低優先度が握ったミューテックスを高優先度が待つ優先度逆転が起きるため、優先度継承や優先度上限プロトコルで防ぐ。ラウンドロビンは同一優先度内の話で、優先度をまたいで公平に回す仕組みではない。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。