Я подозреваю, что вы, возможно, немного неправильно поняли пару вещей, или просто нуждаетесь в небольшом руководстве о том, как лучше структурировать ваши данные.Я обнаружил несколько разных типов данных, смешанных вместе, и по опыту это может привести к путанице.
В свое время я реализовал несколько файловых систем, и мне было очень удобно разделять столькоВозможные типы данных:
1. File data : the file's data.
2. File meta-data : tells you about the file data (where it is found, permissions, ...)
3. File system meta-data : tells you what's free to use and what is not
В зависимости от файловой системы возможны некоторые совпадения.Например, в FS, основанной на FAT, такой как используемая DosFS, диск по существу делится на две части - таблицу размещения файлов (FAT) и пространство данных.FAT - это просто таблица записей, которые определяют, какие кластеры (дисковые блоки) в пространстве данных были выделены.Однако, чтобы помочь сохранить память, он использует несколько хитростей ...
1. Each cluster in the data space maps to a unique entry in the FAT.
2. The FAT entry contents identify the NEXT cluster that contains data (it's a linked list).
3. Special FAT entry values are used to mark a free entry, and the end of the chain.
4. Each cluster is the same size.
Каталоги, которые можно рассматривать как специальные файлы, соответствующие специальным правилам.В зависимости от FS записи каталога могут иметь фиксированный размер или переменный размер.В случае DosFS на основе FAT, использующей классическое соглашение об именах 8.3, каждая запись имеет одинаковый размер.Запись в каталоге должна предоставить вам средства для определения имени файла, с чего начать поиск его данных, а также где найти данные о его свойствах (например, размер файла и разрешения).Некоторые будут хранить всю эту информацию непосредственно как часть записи, другие скажут вам, с чего начать ее искать.
Надеюсь, это поможет.