Чтобы уменьшить общее количество единиц хранения используется объединение смежных секторов диска - Cluster. Его размер – степень двойки и определяется размером тома при форматировании диска.
Первый сектор жесткого диска (сектор 1, дорожка 0) содержит Master Boot Record- программа, помещаемая в ОС во время загрузки. Физический диск может быть разбит на части (разделы или томы). Таблица разделов диска Partition Table располагается в конце первого сектора и содержит 4 элемента, описывающие разделы диска
Смещение
Размер
Содержимое
+0
Признак активного раздела
0 – не активный, 80h активный
+1
Номер стороны для начального сектора раздела
+2
Номер сектора и дорожки (первых) (формат INT 13h)
+4
Код файловой системы
+5
Номер стороны для последнего сектора раздела
+6
Номер сектора и дорожки (послед) (формат INT 13h)
+8
Относительный номер начала раздела
+16
Размер раздела в секторах
Для вычисления относительного номера сектора используется формула
Записи в таблицы FAT определяют цепочки размещения файлов и каталогов, где отдельные звенья – это указатели на следующий кластер данного файла. Элемент каталога хранит начальный кластер файла.
File1
File2
File3
…
FFFF
FFFF
FFFF
…
2 3 4 5 6 7 8 9
Элементы каталога
FAT32 использует 32х разрядные идентификаторы кластеров, но резервируют старшие 4 бита как раз на эти ссылки. Эффективный размер – 28.
Максимальный размер файла – 4Гб.
Использует 64х разрядные номера кластеров.
Первые 16 секторов раздела NTFS распределены под загрузочную запись и код загрузки. Дубликат сектора загрузочной записи находит в логическом центре диска. Для хранения данных о файлах используется главная таблица файлов MFT – Master File Table.
Раздел NTFS делится на две части:
1. Главный служебный файл файловой системы $MFT не подлежит дефрагментации и содержится на специально отведенных первых 12% процентах диска (MFT-зоне).
2. Обычное пространство для хранения файлов.
Свободное место диска включается в себя незаполненные куски MFT зоны. Кластеры раздела имеют сквозную нумерацию от его начала до конца, это называется LCN – Logical Cluster Number.
Файл NTFS – это набор атрибутов. Структура MFT
· $MFT – сама MFT
· $MFTMirr – зеркало MFT
· $logFile – журнал транзакций, в котором регистрируются все операции, влияющие на структуру тома.
· $Volume – файл тома, содержит имя тома, версию NFTS и бит исправности.
· $AttrDef – таблица определения атрибутов, она задает типы атрибутов, поддерживаемые на томе.
· . –корневой каталог
· $BitMap – это файл битовой карты, содержащей схему распределения пространства на томе.
· $Boot – загрузочный файл с кодом начального загрузчика ОС
· $UpCase – таблица трансляции символов кодировки UNICODE верхнего регистра.
· Далее – обычные файлы
Файл на томе идентифицируется 64разрядным значением (файловой ссылкой):
Номер последовательности
Номер файла
От 63 до 48
От 47 до 0
Номер файла соответствует позиции его файловой записи в MFT – 1. Номер последовательности увеличивается каждый раз, когда данная позиция в MFT используется повторно. Файл может описываться несколькими файловыми записями при нехватке места под его атрибуты. В этом случае первая запись называется основной, остальные – дополнительными.
NTFS получает адрес файла на диске из объектов файлов.