概要 ファイルのRead処理ではファイルを後ろの方へシーケンシャルに読んでいくことが多いため、LinuxカーネルはファイルのあるブロックをReadすると、指定されたブロックから先のブロックもまとめてReadする(先読み)ようになっている。これには、以下のようなメリットがある。 ファイルはディスク上に連続ブロックに配置されている可能性が高いため、ディスクヘッドの動きを小さくなりI/Oが効率化できる。 ディスクへのI/O回数をまとめることでI/Oが効率化できる。 先にデータを読み込んで置くことで、アプリケーションが頻繁にI/O待ちしなくて済むようになる。 基本動作 Read Ahead動作では、Current windowとAhead windowの2種類のWindowを管理する(図1)。Current windowはアプリケーションがReadしている領域で、Ahead windowはRead