В многозадачных системах доступ к файлам на диске осуществляется так же параллельно. Это приводит к тому, что одновременно считываются разные фрагменты разных файлах, находящихся, к тому же, в разных участках диска. Выгоднее было бы если эти куски файлов находились рядом (чередовались - разумеется, параллельность считывание - это такой же миф, как и многозадачность на одном процессоре). А это ни что иное, как фрагментация. Более того, такие файловые системы, как например reiserfs, содержат информацию о размещении файлов в виде деревьев, а поиск по нему осуществляется тем эффективнее, чем более сбалансировано оно (если мне не изменяет память). Это опять же ведет к тому, что файлы должны быть фрагментированы. После некоторой работы с системой файлы фрагментируются должным образом и система приходи в свое оптимальное состояние. Разумеется, при последовательном считывании одного файла целиком фрагментации несколько скажется на скорости считывания, но программы кэширования сведут эту разницу на нет.
Все вышесказанное относится как к linux, так и windows семейства NT.