1.2. スレッドスケジューリングポリシー
Linux は、プロセスが CPU リソースにアクセスする方法を管理するために、主に 3 つのスレッドスケジューリングポリシーを使用します。
SCHED_OTHER(SCHED_NORMALとも呼ばれます)これはデフォルトのスレッドポリシーで、カーネルが制御する動的な優先度を持ちます。優先度はスレッドアクティビティーに基づいて変更されます。このポリシーを持つスレッドは、リアルタイム優先度が 0 と見なされます。
SCHED_FIFO(先入れ先出し)優先度の範囲が
1 - 99までのリアルタイムポリシー。ここでは、1が最も低く、99が最も高くなります。SCHED_FIFOスレッドは常にSCHED_OTHERスレッドよりも優先度が高くなります (たとえば、優先度が1のSCHED_FIFOスレッドは どのSCHED_OTHERスレッドよりも優先度が高くなります)。SCHED_FIFOスレッドとして作成されたスレッドは、固定の優先度を持ち、より高い優先度のスレッドによってブロックまたはプリエンプトされるまで実行されます。SCHED_RR(ラウンドロビン)SCHED_RRは、SCHED_FIFOを変更したものです。同じ優先度のスレッドにはクォンタムがあり、同じ優先度のすべてのSCHED_RRスレッド間でラウンドロビン方式でスケジュールされます。このポリシーはほとんど使用されません。