新石器Wiki

近年はシリコン(石)から進化した便利なもので溢れる時代。そんな気になった事や試した事など記す。

ユーザ用ツール

サイト用ツール


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_minsched_get_priority_max を使って調べてから利用する。

参考

programing/linux-programing/pthreads-programing/sched-policy-priority.txt · 最終更新: 2022/07/10 08:43 by yoko