スタベーションとは?すたべーしょん
スタベーションとは、実行可能な状態にあるタスクが、CPU時間や資源をいつまでも割り当ててもらえず前へ進めない状態。優先度に基づくスケジューリングでは、上位のタスクが途切れずに発生し続けると下位のタスクが永久に順番を得られず、系全体は動いているのに一部の処理だけが止まったままになる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
固定優先度スケジューリングは「上位が可能な限り優先する」という単純な規則だからこそ、実装が軽く最悪応答時間も計算できる。その代わり下位の処理に対する保証は原理的に持たない。負荷が想定を超えたときにどの処理が犠牲になるかは設計時に決めておくべき事項であり、この現象は決めそこねた設計が実機で表に出た姿だと考えるとよい。
具体例
Linuxカーネルはリアルタイムスケジューリングクラスがこの状態を招かないよう、sched_rt_runtime_usで一定周期のうち通常タスクへ必ず回す時間を残す作りになっている。エージング(待ち時間に応じて優先度を段階的に引き上げる)も同じ狙いの手当てで、いずれも上位の連続実行に上限を課している。
試験での引っ掛け
互いの解放を待ち合って誰も進めないデッドロックと違い、こちらは他のタスクが正常に動いているぶん系が止まって見えず、発見が遅れる。状態は変化し続けるのに前進しないライブロックとも別物である。優先度継承が扱う優先度逆転は「上位が下位を待つ」向きの話で、こちらは下位が順番を得られない逆向きの話になる。
関連用語
出た過去問
出典:令和5年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問8(IPA)
スケジューリングアルゴリズムにおける、リソーススタベーションに関する記述として、適切なものはどれか。
正解:優先度の低いプロセスが、必要とするリソースを獲得できないこと
要点:スタベーションは低優先度の処理が資源を得られない状態
リソーススタベーション(資源飢餓)は、優先度の低いプロセスに順番が回ってこず、必要な資源をいつまでも獲得できないまま待たされ続ける状態である。優先度に基づくスケジューリングで高優先度の処理が次々に来ると起こりやすい。待ち時間に応じて優先度を上げるエージングなどで緩和する。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。