Я заметил, что когда я ищу файл по имени (в Windows или Linux), это, как правило, интенсивный процесс на диске, особенно в Windows. Кажется, что утилита (Windows Search, или "найти" в Cygwin) сканирует все дерево каталогов, рассматривая каждый файл один за другим.
Мне интересно, почему бы не загрузить таблицу основных файлов (или эквивалентную, если не NTFS) в память и разобрать ее чисто в памяти? Я полагаю, что это похоже на индексы, поддерживаемые более современным поиском, таким как Windows Search, Google Desktop Search и Spotlight, но даже они косвенные. Я предполагаю, что файловые системы обычно не делают свои метаданные доступными для внешних программ?
Я не могу доказать, что поиск еще не основан на MFT, но кажется маловероятным, основываясь на том, как он работает.