Файловая система NTFS (New Technology File System)

В название файловой системы NTFS входят слова «New Technology», то есть «новая технология». Действительно, NTFS содержит ряд значительных усовер­шенствований и изменений, существенно отличающих ее от других файловых систем. С точки зрения пользователей, файлы по-прежнему хранятся в катало­гах (часто называемых «папками» в среде Windows). Однако в NTFS в отличие от FAT работа на дисках большого объема происходит намного эффективнее; имеются средства для ограничения в доступе к файлам и катало­гам, введены механизмы, существенно повышающие надежность файловой сис­темы, сняты многие ограничения на максимальное количество дисковых секто­ров и/или кластеров.

NTFS превосходно справляется с обработкой больших массивов данных и доста­точно хорошо проявляет себя при работе с томами объемом от 300-400 Мбайт и выше. Максимально возможные размеры тома (и размеры файла) составляют 16Эбайт (один экзабайт равен приблизительно 16000 млрд. гигабайт). Количество файлов в корневом и некорневом каталогах не ограни­чено. Поскольку в основу структуры каталогов NTFS заложена эффективная структура данных, называемая бинарным деревом, время поиска файлов в NTFS (в отличие от систем на базе FAT) не связано линейной зависимостью с их количеством.

Система NTFS также обладает определенными средствами самовосстановления. NTFS поддерживает различные механизмы проверки целостности системы, вклю­чая ведение журналов транзакций, позволяющих воспроизвести файловые опе­рации записи по специальному системному журналу.

Файловая система NTFS поддерживает объектную модель безопасности NT и рассматривает все тома, каталоги и файлы как самостоятельные объекты. NTFS обеспечивает безопасность на уровне файлов; это означает, что права доступа к томам, каталогам и файлам могут зависеть от учетной записи пользователя и тех групп, к которым он принадлежит. Каждый раз, когда пользователь обращается к объекту файловой системы, его права доступа проверяются по списку разреше­ний данного объекта. Если пользователь обладает достаточным уровнем прав, его запрос удовлетворяется; в противном случае запрос отклоняется. Эта модель безопасности применяется как при локальной регистрации пользователей на компьютерах с NT, так и при удаленных сетевых запросах.

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

Рассмотрим теперь структуру файловой системы NTFS. Одним из основных понятий, используемых при работе с NTFS, является поня­тие тома (volume). Возможно также создание отказоустойчивого тома, занимаю­щего несколько разделов, то есть использование RAID-технологии. Как и мно­гие другие системы, NTFS делит все полезное дисковое пространство тома на кластеры – блоки данных, адресуемые как единицы данных. NTFS поддержива­ет размеры кластеров от 512 байт до 64 Кбайт; стандартом же считается кластер размером 2 или 4 Кбайт.

Все дисковое пространство в NTFS делится на две неравные части (рис. 3.8). Первые 12 % диска отводятся под так называемую MFT-зону – пространство, которое может занимать, увеличиваясь в размере, главный служебный метафайл MFT (Master file table). Остальные 88 % тома представляют собой обычное пространство для хранения файлов.

MFT (master file table, общая таблица файлов) представляет собой централизо­ванный каталог всех остальных файлов диска, в том числе и себя самого. MFT поделен на записи фиксированного размера от 1 до 4 Кбайт, и каждая запись соответ­ствует какому-либо файлу. Первые 16 файлов но­сят служебный характер и недоступны операционной системе – они называются метафайлами, причем самый первый метафайл – сам MFT. Эти первые 16 эле­ментов MFT – единственная часть диска, имеющая строго фиксированное поло­жение. Копия этих же 16 записей хранится в середине тома для надежности, по­скольку они очень важны. Остальные части MFT-файла могут располагаться, как и любой другой файл, в произвольных местах диска – восстановить его по­ложение можно с помощью его самого, «зацепившись» за самую основу – за пер­вый элемент MFT. Упомянутые первые 16 файлов NTFS (метафайлы) носят служебный характер; каждый из них отвечает за какой-либо аспект работы системы.

В MFT хранится вся ин­формация о файлах, за исключением собственно данных. Имя файла, размер, положение на диске отдельных фрагментов и т. д. – все это хранится в соответ­ствующей записи. Если для информации не хватает одной записи MFT, то ис­пользуется несколько записей, причем не обязательно идущих подряд. Файлы могут иметь не очень большой размер. Тогда применяется довольно удачное ре­шение: данные файла хранятся прямо в MFT, в оставшемся от основных данных месте в пределах одной записи MFT. Файлы, занимающие сотни байт, обычно не имеют своего «физического» воплощения в основной файловой области – все данные такого файла хранятся в одном месте, в MFT.

Имя файла в NTFS, в отличие от файловых систем FAT и HPFS, может содер­жать любые символы, включая полный набор национальных алфавитов, так как данные представлены в Unicode – 16-битном представлении, которое дает 65 535 разных символов. Максимальная длина имени файла в NTFS – 255 сим­волов.

Большой вклад в эффективность файловой системы вносит организация ката­лога. Каталог в NTFS представляет собой специальный файл, хранящий ссылки на другие файлы и каталоги, создавая иерархическое строение данных на диске. Внутренняя структура каталога представляет собой бинарное дерево, подобно тому как это организовано в HPFS.

NTFS рассматривает каталоги (папки) и файлы как разнотипные объекты и ведет отдельные списки прав доступа для каждого типа. Ниже перечислены права NTFS, назначаемые папкам:

нет доступа (no access);

полный доступ (full control);

право чтения (read);

право добавления (add);

право добавления и чтения (add&read);

право просмотра (list);

право изменения (change).

Файлы в NTFS могут обладать следующими правами:

полный доступ (full control);

нет доступа (no access);

право изменения (change);

право чтения (read).

В NTFS файлы и папки по умол­чанию наследуют права доступа, установленные для их родительской папки, од­нако эти права могут быть изменены любым пользователем, которому разрешено изменять права доступа для соответствующих объектов NTFS.