- •Диски, разделы и тома
- •1 Примером неразделимых дисков служат компакт-диски и dvd, которые имеют только одни раздел.
- •Базовые диски
- •Тома и диспетчеры томов
- •Пространство имен устройств
- •Системные файлы ntfs
- •Логические и виртуальные номера кластеров ntfs
- •Структура записи mft в файловой системе ntfs
- •Атрибуты файла
- •Каталоги ntfs
- •Разреженные файлы ntfs
- •Сжатые файлы ntfs
- •Пользовательские квоты дискового пространства
Системные файлы ntfs
Файловая система организует все содержимое диска в виде файлов, включая не только пользовательские файлы, но и файлы, содержащие метаданные, которые относятся к файловой системе. В этом разделе рассматриваются файлы, которые NTFS использует для внутренней, организации функционирования.
Главная файловая таблица (Master File Table — MFT; $Mft) всегда представляет собой первый файл тома NTFS. Она содержит множество записей и, как минимум, одну запись для каждого файла и каталога тома, включая запись для самой MFT. Каждая запись в MFT может иметь размер 1024-4096 Кбайт, в зависимости от размера тома, на котором размещена файловая система. Для файлов с несколькими атрибутами или чрезмерной фрагментацией может потребоваться несколько записей в MFT. Таблица MFT хранится - в начале тома.
Производительность системы существенно повышается, если записи MFT хранятся в соседних кластерах диска, т.е. когда MFT не фрагментирована и занимает непрерывную область диска. Для выполнения этого условия NTFS резервирует область, которая называется зоной MFT, в начале тома или раздела и стремится не использовать эту область ни для чего, кроме хранения записей MFT. Первые файлы и каталоги записываются сразу после MFT. Около 12% тома зарезервировано для зоны MFT. Начиная с Windows NT 4.0 SP4, в реестр добавлена специальная запись, которая позволяет управлять размером зоны MFT. Эта запись может иметь значения в диапазоне от 1 до 4, указывая размер зоны MFT от минимального (1) -до максимального (4). Программа дефрагментации указывает текущий размер зоны MFT.
Первые 24 записи в MFT зарезервированы. Некоторые записи меняют свое назначение с выходом новой версии операционной системы, как это произошло с выходом Windows 2000. В табл. 6.4 описаны различные системные файлы NTFS, которые также известны как файлы метаданных.
Логические и виртуальные номера кластеров ntfs
Файловая система NTFS работает с целым числом дисковых секторов как с минимальным единичным блоком данных. Такой блок называется кластером. Размер кластера определяется при форматировании тома. Разные тома могут иметь различные размеры кластеров. Для читателей, знакомых с UNIX, можно отметить, что термин кластер в Windows аналогичен термину размер блока файловой системы в UNIX. Файловая система вычисляет размер кластера, принимая во внимание размер диска и тип используемой файловой системы. Кластер может иметь размер в диапазоне 1- 64 Кбайт. Размер кластера задается при форматировании тома в виде параметра команды format или параметра утилиты управления дисками с графическим интерфейсом. Очевидно, что большой размер кластера приводит к потерям дискового пространства; например, для хранения файла размером 1 Кбайт файловой системе придется выделить кластер размером 64 Кбайт.
К кластерам относится несколько важных параметров NTFS. Первый параметр называется логическим номером кластера (logical cluster number — LCN). Файловая система NTFS делит весь диск на кластеры и назначает каждому кластеру номер, начиная с нуля. Таким образом, первый кластер будет иметь номер 0, второй кластер — номер 1 и т.д. Этот номер и называется LCN. Вторым важным параметром является виртуальный номер кластера (VCN) который указывает номер кластера внутри определенного файла.
Логический/виртуальный номер кластера 25 указывает на 26-й номер тома/файла (нумерация с нуля), а виртуальный номер кластера, равный 25, указывает на 26-й кластер определенного файла.
Виртуальный номер кластера позволяет вычислить местоположение атрибута, например смещения данных внутри файла, а логический номер кластера дает возможность вычислить смещение относительно тома или раздела для определенного блока данных.