Файловая система NTFS
Организация раздела NTFS
Как и любая другая система, NTFS делит все полезное место на кластеры – блоки данных, используемые единовременно. NTFS поддерживает почти любые размеры кластеров – от 512 байт до 64 Кбайт, неким стандартом же считается кластер размером 4 Кбайт.
Диск NTFS условно делится на две части. Первые 12% диска отводятся под так называемую MFT зону – пространство, в которое растет метафайл. Запись каких-либо данных в эту область невозможна. MFT-зона всегда держится пустой – это делается для того, чтобы самый главный, служебный файл (MFT) не фрагментировался при своем росте. Остальные 88% диска представляют собой обычное пространство для хранения файлов (рис.3).
Рис. 3. Структура раздела NTFS
Основной структурой данных в NTFS является главная таблица файлов (Master File Table, MFT), которая хранится в системном файле $MFT и представляет собой главный каталог, в котором регистрируются все файлы раздела, включая системные файлы. Для MFT резервируется 12% от общего объема раздела в виде непрерывной последовательности блоков, которая называется MFT-зоной. Запись файлов и каталогов в эту зону не проводится, а ее адрес хранится в загрузочной записи.
MFT состоит из множества записей размером 1 Кбайт о файлах, расположенных на томе. В записи MFT хранится вся информация о файле (имя, дата и время создания, размер, положение на диске отдельных фрагментов, и т. д). Если не хватает одной записи MFT, то используются несколько, причем не обязательно подряд. При этом первая запись называется базовой. Каждая запись MFT имеет уникальный номер – индекс, общее количество записей – до 248.
Первые 16 записей файла $MFT выделены для хранения информации о системных файлах. Самая первая запись в MFT – это запись о самом файле $MFT. Во второй записи содержится информация о зеркальной копии MFT (файл $MFTMirr), в которой дублируются первые 4 записи таблицы MFT. В случае возникновения сбоя, если MFT окажется недоступным, информация о системных файлах будет считываться из файла $MFTMirr, адрес которого также имеется в загрузочной записи.
Ниже приведено назначение некоторых системных файлов NTFS:
$LogFile – файл журнала, в котором записывается информация о всех операциях, изменяющих структуру раздела NTFS, например, создание файлов и каталогов. Файл журнала используется при восстановлении тома NTFS после сбоев;
$Volume – файл информации о томе, в котором содержатся имя тома (Volume label), версия NTFS и набор флагов состояния тома, например, флаг, установка которого означает, что том был поврежден и требует восстановления при помощи системной утилиты Chkdsk;
$AttrDef – таблица определения атрибутов, содержащая возможные на данном томе типы атрибутов файлов;
$Root Directory – файл с информацией о корневом каталоге тома. В нем хранятся ссылки на файлы и каталоги, содержащиеся в корневом каталоге;
$BitMap – файл битовой карты, каждый бит в которой соответствует одному кластеру: единичное значение бита соответствует занятому кластеру, нулевое – свободному;
$Boot – файл загрузочной записи тома;
$BadClus – файл плохих кластеров, содержащий информацию обо всех кластерах, имеющих сбойные секторы.
Достарыңызбен бөлісу: |