最終更新:2015-08-24 (月) 07:58:13 (3167d)
Linux/スケジューラ
実行可能なプロセス群全体を監視し、どのプロセスに実行権を与えるか判断を下す
概要
経緯
- 従来は Linux カーネルの I/O スケジューラは一種類だけで、コンパイル時に固定されていました。しかし Linux 2.6.10?からは複数の I/O スケジューラをデバイス毎に切り替えて、ハードウェアや用途に最適なスケジューラを選べるようになりました。
種類
noop?
- 何もしない
- 普通のパソコンでは noop スケジューラを指定すると性能が落ちる
anticipatory?
- 比較的低速のハードディスクを用いた環境用
deadline
- データベース向き
- スループットよりもレイテンシに最適化したスケジューリング
cfq?
- プロセス毎の I/O キューを持ち、極力公平なスケジューリングをしようとする
- Fedora Coreのカーネルパッケージのデフォルト
スケジューラ
O(1)スケジューラ?
Completely Fair Scheduler? (CFQ)
- Linux 2.6.23?以降で利用可能
スケジューリングの契機
優先度? (nice値?)
- -20から19の範囲
- タスク起動時のデフォルトは0
- nice()システムコールで変更
関連
- タイムスライス?