差分

移動先: 案内検索

プロセス管理

431 バイト追加, 2008年11月20日 (木) 14:40
/* スケジュリング */
Linuxの基本はUNIXの流れであるラウンドロビンと優先順位をミックスしたものです。優先順位によってタスク待ちの優先順位の高いキューにセットされます。またそれだけでもなくタイムスライスの値も変化させています。Linux 2.6.22の場合、タイムスライスは平均100msですが内部では最小5msから最大800msまで内部で動的に変化させています。
Linux 2.6系におけるスケジュラーは以前2.4系で使われていたスケジュラーからみると画期的に性能がいいO(1)スケジュラ(Order one scheduler)に変更されました。さらにLinux 2.6.23からO(1)スケジュラからCFS(Completely Fair Scheduler)<ref>Completely Fair Scheduler によるマルチプロセッシングhttp://www.ibm.com/developerworks/jp/linux/library/l-cfs/index.html</ref>に変更されました。O(1)スケジュラがヒューリスティック(発見的)にスケジュリングするのですが、CFSのスケジュリングは数値を計算して(数学的な意味で)スケジュリングを決めます。以前よりも偶然に左右されず公平にスケジュリングされます。スケジュラがヒューリスティック(発見的)にスケジュリングするのですが、CFS のスケジュリングは数値を計算して(数学的な意味で)スケジュリングを決めます。ヒューリスティックな方法では、ある種の特定の条件に嵌まってしまいスケジュリングが公平に処理できなくなったり、あるいはたまたま偶然に有利な条件になったり不利な条件になったりとする可能性があります。それから比べるとCFSは公平にスケジュリングされます。
匿名利用者