Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #40, МАРТ 2004 г.

Yes, Yes – NTFS

Анализирующий

Спецвыпуск Xakep, номер #040, стр. 040-070-1


(analyst1945@mail.ru)

Обзор основных возможностей файловой системы NTFS

Несмотря на то, что новая линейка ОС Windows без проблем поддерживает (в отличие от NT4) FAT32, IMHO, ставить XP на FAT – все равно что бегать на лыжах по асфальту. Большая часть нововведений и усовершенствований ориентирована как раз на использование файловой системы NTFS. О них-то мы и расскажем в этой статье.

С появлением операционных систем Windows 2000/XP и новой версии «родной» для нее файловой системы - NTFS5 (New Technology File System), у Microsoft появилась возможность для полноценной конкуренции с xNIX - подобными системами. Главным коньком этой ФС без сомнения явдяются пресловутые отказоустойчивость и защищенность, однако это - не единственные ее преимущества.

Структура NTFS

Логически NTFS очень похожа на базу данных. Все пространство тома этой ФС представляет собой либо файл, либо часть файла. Самый главный файл на NTFS носит имя MFT (Master File Table - Общая Таблица Файлов). В нем в виде метафайлов (еще их называют метаданными) содержится вся служебная информация, необходимая для функционирования NTFS. Всего метафайлов 16. Эти файлы недоступны при работе в Windows, однако просмотреть их можно, загрузившись под другой операционной системой (например, BeOS), или используя специальные утилиты.

Том NTFS логически делится на две части: зарезервированные для MFT (12%, в целях предотвращения фрагментации) и примерно 88% - для данных. Расположение метафайлов указано в секторе начальной загрузки. Копия сектора начальной загрузки расположена в логической середине диска.

При уменьшении свободного места на диске, размер зарезервированного пространства уменьшается вдвое – т.е. до 6%, далее – до полного истощения ресурсов. Если файл занимает менее 1500 байт, он целиком размещается в MFT. В противном случае в MFT помещаются только некоторые атрибуты и информация о физическом расположении файла - так называемая резидентная часть. Остальные части называются нерезидентными.

Каждый файл и каталог NTFS представляет собой набор атрибутов. Атрибуты бывают системные, т.е. назначаемые файлу при его создании (например, его имя, дата создания, содержимое и т.д.), и пользовательские, назначаемые пользователем в дополнение к системным. Фактически, кроме атрибутов у файла нет никаких других компонентов.

В Windows NT 4.0 размер метафайла можно было узнать, например, командой DIR /a $mft. Однако, начиная с Windows 2000, дядя Билли лишил нас этой возможности.

Индексирование атрибутов

Для оптимальной работы с диском файловая система FAT индексирует имена файлов без каких-либо дополнительных возможностей, что сказывается на скорости работы с большими каталогами. В NTFS5 для этих целей используется «Универсальный механизм индексации», сохраняющий в индексе не только имена файлов, но и дополнительные атрибуты с предварительной сортировкой. Преимущества этого механизма широко используются в Windows XP, например, дескрипторами безопасности, информацией о квотах, точках повторной обработки.

Атрибуты одного и того же типа могут повторяться несколько раз. Например, файл на томе NTFS может содержать несколько атрибутов данных (Data). Каждый такой атрибут называется потоком. Первоначально файл имеет один поток, с которым происходит работа по умолчанию – безымянный. Чтобы можно было обращаться к остальным потокам, им присваиваются имена, в том числе и на русском языке, т.к. они хранятся в UNICODE, как и имена файлов. Программам потоки передаются через двоеточие после имени файла. Например, команда

Содержание  Вперед на стр. 040-070-2