差分

移動先: 案内検索

カーネルの構造と機能

12 バイト追加, 2018年10月24日 (水) 13:59
スケジュリングをスケジューリングに修正
===== スケジュリングの種類 スケジューリングの種類 =====
プロセスのスケジュリングでは、Linuxの場合、 プロセスのスケジューリングでは、Linuxの場合、 システムコールsched_setscheduler(2)を使い、プロセスのスケジュリングの方法を指定することができます。を使い、プロセスのスケジューリングの方法を指定することができます。
* SCHED_FIFO: First-In-First-Out
FIFOは、そのプロセスがCPU資源を占有する方式です。CPU資源を占有といっても、一般ユーザで動作するよりもさらに、優先度よりも高い優先度で動くプロセスあると、そちらの方を優先します。ラウンドロビンは順繰りにプロセスが処理されます。デフォルトでは、プロセスの動作時間を見て、優先順位を計算し、その優先順位が高い方から処理するようになっています。このスケジュリングの処理アルゴリズムはLinux FIFOは、そのプロセスがCPU資源を占有する方式です。CPU資源を占有といっても、一般ユーザで動作するよりもさらに、優先度よりも高い優先度で動くプロセスあると、そちらの方を優先します。ラウンドロビンは順繰りにプロセスが処理されます。デフォルトでは、プロセスの動作時間を見て、優先順位を計算し、その優先順位が高い方から処理するようになっています。このスケジューリングの処理アルゴリズムはLinux 2.6 では入れ換えれており処理効率がよくなっています。
2.6.12ではあたらしくSCHED_BATCHのスケジュールが加わり、
2.6.23ではCFS( Completely Fair Scheduler )スケジューラ