Open Source Web Development Tutorials - Dev Shed
Linux I/Oスケジューラ
(2009/03/25公開)
CFQ I/O スケジューラ
CFQ(Complete Fair Queuing) I/Oスケジューラは、同様の成果を異なる方法で達成します。* CFQでは、各プロセスに独自の待ち行列が割り当てられ、待ち行列ごとにタイムスライスが割り当てられます。I/Oスケジューラはラウンドロビン方式で各待ち行列を回り、待ち行列のタイムスライスが尽きるまで、あるいは、要求が尽きるまで、待ち行列に入った要求を実行し続けます。要求をすべて実行し終わった場合、CFQ I/Oスケジューラは短時間-デフォルト設定は10ミリ秒-アイドル状態で待ち行列に新規の要求が入るのを待ちます。予測どおりに新規要求が入れば、シーク動作を行う無駄が省かれます。予測が外れた場合(待機は無駄に終わり)次のプロセスの待ち行列へと進行します。
各プロセスの待ち行列では、同期化された要求(例えば、読み出し)が非同期化された要求より優先されます。このため、CFQは読み出しに有利に動作して「ライト・スタービング・リード」の問題発生を防止します。CFQ I/Oスケジューラではプロセスごとに待ち行列が設定されるので、すべてのプロセスに対して公平であると同時に、全体的に良好な性能を実現します。
CFQ I/Oスケジューラは、大多数の作業負荷に対して適切な動作を提供します。第一に選択すべき優れたスケジューラです。
ヌープ(Noop)I/Oスケジューラ
利用できるスケジューラの中で、ヌープI/Oスケジューラはもっとも基本的です。基本的な併合を実行するだけで、並べ替えは一切実行しません。独自の要求並べ替えを必要としない(あるいは、実行しない)特殊なデバイスで利用します。
Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.








