logo
ZH ос 20 вопр 36 стр

Структура ntfs на диске.

Структура NTFS начинается с тома. Том соответствует логическому разделу на диске и создается при форматировании диска или его части под NTFS. На диске может быть один или несколько томов. NTFS обрабатывает каждый том независимо от других.

Размер кластера на томе NTFS, или кластерный множитель (cluster factor), уста­навливается при форматировании тома командой format или в оснастке Disk Management. Внутренне NTFS работает только с кластерами. NTFS использует кластер как единицу выделения пространства для поддержания независимости от размера физического сектора. NTFS адресуется к конкретным местам на диске, используя логические номе­ра кластеров (logical cluster numbers, LCN). Для этого все кластеры на томе про­сто нумеруются по порядку — от начала до конца. Для преобразования LCN в физический адрес на диске NTFS умножает LCN на кластерный множитель и получает байтовое смещение от начала тома, воспринимаемое интерфейсом драйвера диска. На данные внутри файла NTFS ссылается по виртуальным но­мерам кластеров (virtual cluster numbers, VCN), нумеруя кластеры, которые при­надлежат конкретному файлу (от 0 до т). VCN не обязательно должны быть физически непрерывными.

Главная таблица файлов (MFT).

В NTFS все данные, хранящиеся на томе, содержатся в файлах. Хранение всех видов данных в файлах позволяет файловой системе легко находить и поддерживать данные, а каждый файл может быть защищен дескриптором защиты. Кроме того, при по­явлении плохих секторов на диске, NTFS может переместить файлы метаданных.

Главная таблица файлов (MFT) занимает центральное место в структуре NTFS-тома. MFT реализована как массив записей о файлах. Размер каждой запи­си фиксирован и равен 1 Кб. Логически MFT содержит по одной строке на каждый файл тома, включая строку для самой MFT. Кроме MFT на каждом томе NTFS имеется набор файлов мета­данных с информацией, необходимой для реализации структуры файловой си­стемы. Остальные файлы NTFS-тома являются обычными файлами и каталогами. Обычно каждая запись MFT соответствует отдельному файлу. Но если у фай­ла много атрибутов или он сильно фрагментирован, для него может понадо­биться более одной записи. Тогда первая запись MFT, хранящая адреса других записей, называется базовой (base file record).

При первом обращении к тому NTFS должна смонтировать его, то есть считать с диска метаданные и сформировать внутренние структуры данных, необходи­мые для обработки обращений к файловой системе. Запись о са­мой MFT является первым элементом в этой таблице, вторая запись указывает на файл в середине диска ($MftMirr), который называется зеркальной копией MFT и содержит копию первых нескольких строк MFT. Если по каким-либо причинам считать часть MFT не удастся, для поиска файлов метаданных будет использована именно эта копия MFT.