2

Мне интересно, как ОС находит файлы в файловой системе.
Например, я знаю, что в файловой системе FAT есть БД файлов.

Я знаю, что ОС находит файлы очень быстро,
поэтому я хочу знать, использует ли он бинарный поиск для прохождения базы данных FAT?
Или есть более быстрый способ сделать это?

и существует ли метод для ОС, позволяющий сразу определить местоположение файлов в файловой системе без поиска в базе данных FAT?

1 ответ1

0

Честно говоря ... на этот вопрос есть много ответов ... слишком много, чтобы перечислять здесь. Во многом это зависит от типа файловой системы ... и ОС, которая ее читает ... а также от того, какие функции файловой системы включены.

Каждая файловая система имеет своего рода "базу данных", как вы описали, чтобы перевести имя / путь в одно или несколько мест на диске. Как работает эта "база данных", это то, что отличает каждую файловую систему. Некоторые методы лучше для некоторых задач, чем другие. Некоторые являются более восстанавливаемыми и избыточными в случае сбоя ... некоторые строго ориентированы на скорость и почти не восстанавливаются в случае одного сбоя.

В зависимости от операционной системы и типа файловой системы "база данных" может быть частично или даже полностью загружена в ОЗУ, чтобы ускорить процесс определения местоположения на диске. Некоторые файловые системы используют связанные списки и b-деревья или другие типы упорядоченных деревьев, чтобы быстро находить файлы. Журналирование также может значительно ускорить процессы чтения / записи (при условии правильных условий). Есть даже файловые системы (в основном проприетарные), которые действительно являются базой данных.

Настоящий вопрос ... Почему вы хотите знать ... и что вы пытаетесь достичь? Если вы хотите получить более конкретные ответы ... дайте больше подробностей о том, о какой ОС / платформе / файловой системе вы говорите.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .