Випереджаюче читання.

У тому випадку, якщо обробка даних ведеться послідовним чином (від початку файлу до кінця), кешування не дає значного ефекту. Після того, як оброблено дані з одного блоку, подальше перебування цього блоку в кеш-буфері марно. Значно більш корисною в цьому випадку може виявитися інша спеціальна форма буферизації, відома як випереджаюче читання. Вона полягає в тому, що при зверненні до деякого блоку диска система, виконавши читання необхідного блоку, зчитує потім ще кілька наступних за ним блоків. Якщо апаратура дозволяє виконувати операцію читання одночасно з обробкою раніше прочитаних даних, то велика ймовірність, що до моменту, коли наступний блок даних буде запитаний для обробки, цей блок вже виявиться прочитаним.

Як правило, системі невідомо, чи буде обробка файлу вестися в режимі послідовного або довільного доступу, тому часто використовується та чи інша комбінація кешування з випереджаючим читанням. У Windows програма, що відкриває файл, може вказати системі, для якого способу доступу бажано оптимізувати механізм буферизації.

Ідея випереджального читання отримала цікавий розвиток в Windows XP. У цій системі запроваджено механізм випереджаючої завантаження даних (prefetch), який заснований на автоматичному зборі та зберіганні статистики про те, які файли і каталоги використовуються в ході завантаження ОС і при запуску конкретних програм, а також які дані читаються з цих файлів в перші хвилини роботи . При наступних завантаженнях ОС і запусках додатків система виконує очікувані операції читання ще до того, як вони будуть в дійсності запитані завантажуваними компонентами ОС або додатком. При цьому система планує порядок операцій таким чином, щоб скоротити переміщення читаючих головок і тим самим прискорити завантаження даних.