Какой выбрать планировщик для последовательного чтения миллионов файлов в каталоге с подкаталогами, чтобы минимизировать перемещения головок? Или посмотреть в сторону оптимизации кода?
В настоящий момент чтение файлов в каталоге существующей программы происходит следующим образом:
while ((file = readdir(dir))) {
fd = open(file, O_RDONLY);
... ... ...
buf = mmap(NULL, size, PROT_READ, MAP_PRIVATE, fd, 0);
... ... ...
}
Есть подозрение, что чтение файлов происходит не в том порядке, в котором они были записаны. И возможно ли читать файлы в том порядке, в котором они были записаны, ориентируясь на inode?