Дескрипторы файлов
Как мы уже говорили, любой каталог содержит 32-байтовые элементы - дескрипторы, описывающие файлы и другие каталоги. Приведем формат дескриптора:
Смещение | Размер | Содержимое |
0 | 8 | Имя файла или каталога, выровненное на левую границу и дополненное пробелами |
8 | 3 | Расширение имени файла, выровненное на левую границу и дополненное пробелами |
11 | 1 | Байт атрибутов файла |
12 | 10 | Зарезервировано |
22 | 2 | Время создания файла или время его последней модификации |
24 | 2 | Дата создания файла или дата его последней модификации |
26 | 2 | Номер первого кластера, распределенного файлу |
28 | 4 | Размер файла в байтах |
В любом каталоге, кроме корневого, два первых дескриптора имеют специальное назначение. Первый дескриптор содержит в поле имени строку:
". "
Этот дескриптор указывает на содержащий его каталог. То есть каталог имеет ссылку сам на себя.
Второй специальный дескриптор содержит в поле имени строку:
".. "
Этот дескриптор указывает на каталог более высокого уровня.
Если в поле номера первого занимаемого кластера для дескриптора с именем ".. " находится нулевое значение, это означает, что данный каталог содержится в корневом каталоге.
Таким образом, в древовидной структуре каталогов имеются ссылки как в прямом, так и в обратном направлении. Эти ссылки можно использовать для проверки сохранности структуры каталогов файловой системы.