Корневой каталог
За второй копией FAT следует корневой каталог (Root Directory). Он, как и FAT, состоит из записей фиксированной длины. В FAT32 размер записи равен 32 байтам. Каждая запись указывает на файл или директорию. Внутренняя структура записи приведена в табл.
Смещение от начала записи |
Длина, байт |
Описание |
0000 |
8 |
Имя файла или каталога |
0008 |
3 |
Расширение |
000B |
1 |
Атрибуты файла |
000C |
10 |
Зарезервировано |
0016 |
2 |
Время создания/модификации (в специальном формате) |
0018 |
2 |
Дата создания/модификации (в специальном формате) |
001A |
2 |
Номер начального кластера |
001C |
4 |
Размер файла в байтах |
Таким образом, запись каталога связывает имя файла с номером кластера, в котором записано начало этого файла. Запись каталога отсылает к записи о начале этого файла в FAT. Когда длина файла превышает размер кластера (а так обычно и бывает), продолжение файла пишется в следующие кластеры. Как правило, такие фрагменты идут не друг за другом, а разбросаны по всему диску (фрагментация диска). Таблица FAT связывает кластеры, хранящие фрагменты одного файла, в последовательную цепочку (рис.). В последнем звене цепочки указывается, что здесь конец файла.
Рис. Связь каталога, FAT и кластеров, содержащих файл
Хотя файловая система NTFS устроена гораздо сложнее, в силе остается тот же принцип. Записи ФС, ссылаясь друг на друга, приводят от имени файла к кластерам, где этот файл записан. И, наоборот, от кластера с каким-то содержимым они должны, в конечном счете, привести к имени файла и его положению в дереве каталогов.
Файловая система NTFS
Файловая система NTFS сейчас работает на винчестерах 90 % домашних и офисных компьютеров. В основе ее лежит главная файловая таблица (Master File Table, MFT). Это база данных, каждая запись которой соответствует файлу и содержит все атрибуты этого файла.
Атрибуты NTFS
В философии NTFS атрибутами файла считается буквально все: начиная от имени файла и заканчивая самим содержимым файла (если он невелик по размеру). Вне записей с атрибутами хранится только содержимое достаточно больших файлов.
Любой атрибут состоит из заголовка (header) и тела (body), т. е. значения, соответствующего этому заголовку. Атрибуты бывают резидентными (resident) и нерезидентными (non-resident). Резидентные атрибуты хранятся в MFT целиком. У нерезидентных атрибутов в MFT находится лишь заголовок со ссылкой на кластер диска, содержащий начало тела. Тело такого атрибута расположено вне MFT, в области файлов.
Диск NTFS условно делится на две части (рис.). 12 % от объема диска отводятся под так называемую зону MFT — пространство, которое занимает файл $MFT. Запись каких-либо других данных в эту область запрещена. MFT-зона всегда отводится для главной файловой таблицы (MFT), чтобы при своем увеличении она не фрагментировалась. Ближе к середине диска расположен дубликат начальных записей MFT.
Рис. Структура раздела NTFS
Остальные 88 % диска представляют собой обычное пространство для хранения файлов.
Практический вывод
Заполнять диск NTFS более чем на 88 % от его видимого объема категорически не рекомендуется.
