34.4. プロセスのスケジューリングポリシーおよび関連する属性の設定
sched_setattr()
関数は、PID で指定されたインスタンス ID のスケジューリングポリシーとそれに関連する属性を設定します。pid=0 の場合、sched_setattr()
は呼び出し元のスレッドのプロセスおよび属性に作用します。
手順
-
sched_setattr()
を呼び出して、呼び出しが作用するプロセス ID と、以下のリアルタイムスケジューリングポリシーのいずれかを指定します。
リアルタイムスケジューリングポリシー
SCHED_FIFO
- 先入れ先出し方式をスケジュールします。
SCHED_RR
- ラウンドロビンポリシーをスケジュールします。
SCHED_DEADLINE
- 期限スケジューリングポリシーをスケジュールします。
Linux は、以下の非リアルタイムスケジューリングポリシーもサポートしています。
非リアルタイムスケジューリングポリシー
SCHED_OTHER
- 標準のラウンドロビンタイムシェアリングポリシーをスケジュールします。
SCHED_BATCH
- プロセスのバッチスタイルの実行をスケジュールします。
SCHED_IDLE
非常に優先度の低いバックグラウンドジョブをスケジュールします。
SCHED_IDLE
は静的優先度0
でのみ使用でき、nice 値はこのポリシーに影響を与えません。このポリシーは、非常に低い優先度 (
SCHED_OTHER
またはSCHED_BATCH
ポリシーを使用した +19 nice 値よりも低い) でジョブを実行することを目的としています。