40.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 値よりも低い) でジョブを実行することを目的としています。