programing:linux-programing:pthreads-programing:sched-policy-priority
スケジューリングポリシーと優先度
スケジューリングポリシー
Linux スケジューラーではスレッドの実行場所と実行期間を決定する数種類のスケジューリングポリシーを実装している。大きく分けると通常ポリシーとリアルタイムポリシーの 2 種類のカテゴリーに分けられる。
ポリシー | 値 | 説明 | 備考 |
---|---|---|---|
SCHED_FIFO | 1 | 静的優先度のスケジューリング | |
SCHED_RR | 2 | ラウンドロビン方式の優先度スケジューリング | |
SCHED_OTHER | 0 | デフォルトのスケジューリングポリシー | タイムスライス |
優先度
SCHED_FIFO と SCHED_RR スレッドの優先レベルは 1 から 99 で指定することができ、99 が最も高い優先度になる。
macOSでの優先度範囲
macOSで指定できる優先度は 1〜99 ではなく、POSIX.1-2001 で要求される最低 32 種類のレベル指定となっている模様。(macOS Monterey 12.4で確認)
なので、設定きできる優先度の範囲は、 sched_get_priority_min
と sched_get_priority_max
を使って調べてから利用する。
参考
programing/linux-programing/pthreads-programing/sched-policy-priority.txt · 最終更新: 2022/07/10 08:43 by yoko