Назад

 

Лекция №7

Системы управления файлами.

Файловая система NTFS

Вопросы:

1.     Файловая система NTFS

·       Основные особенности NTFS

·      Структура тома с файловой системой NTFS

·      MFT (master file table)

·       Представление файлов

·       Атрибуты файлов

·       Организация ката­логов

·      Ограничение доступа к файлам и каталогам

·       Средства самовосстановления

·      Недостатки файловой системы  NTFS

·      Утилита CONVERT.EXE

 

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

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

 

За редкими исключениями, с разделами NTFS можно работать напрямую только из Windows NT, хотя и имеются для ряда ОС соответствующие реализа­ции систем управления файлами для чтения файлов из томов NTFS. Так, напри­мер, утилита (драйвер) NTFSDOS позволяет читать данные NTFS на компьютере, загруженном в режиме MS-DOS. Однако полноценных реализации для работы с NTFS вне системы Windows NT пока нет.

NTFS не поддерживается в широко распространенных ОС Windows 98 и ныне все более часто встречающейся Windows Millennium Edition.

 

Основные особенности NTFS

·       работа на дисках большого объема происходит эффективно (намного эффективнее, чем в FAT);

·       имеются средства для ограничения доступа к файлам и катало­гам Þ раз­делы NTFS обеспечивают локальную безопасность как файлов, так и каталогов;

·       введен механизм транзакций, при котором осуществляется журналирование файловых операций Þ существенное увеличение надежности;

·       сняты многие ограничения на максимальное количество дисковых секто­ров и/или кластеров;

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

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

 

 

Структура тома с файловой системой NTFS

 

Раздел NTFS называется томом (volume). Максимально возможные размеры тома (и размеры файла) составляют 16 Эбайт (экзабайт 2**64).

Замечание. Возможно создание тома, занимающего несколько разделов (отказоустойчивого тома)

Как и мно­гие другие системы, NTFS делит дисковое пространство тома на кластеры — блоки данных, адресуемые как единицы данных. NTFS поддержива­ет размеры кластеров от 512 байт до 64 Кбайт; стандартом же считается кластер размером 2 или 4 Кбайт.

Все дисковое пространство в NTFS делится на две неравные части.

 

 

 

 

 

 

 

 


Первые 12 % диска отводятся под так называемую MFT-зону — пространство, которое может занимать, увеличиваясь в размере, главный служебный метафайл MFT.

Запись каких-либо данных в эту область невозможна. MFT-зона всегда держится пустой — это делается для того, чтобы MFT-файл по возможности не фрагментировался при своем росте.

Остальные 88 % тома представляют собой обычное пространство для хранения файлов.

MFT (master file table)

 

MFT (общая таблица файлов) по сути - это каталог всех остальных файлов диска, в том числе и себя самого. Он предназначен для определения расположения файлов.

 

MFT состоит из записей фиксированного размера. Размер записи MFT (минимум 1 Кб и максимум 4 Кб) оп­ределяется во время форматирования тома.

Каждая запись соответ­ствует какому-либо файлу.

 

Первые 16 записей но­сят служебный характер и недоступны операционной системе — они называются метафайлами, причем самый первый метафайл — сам MFT.

Эти первые 16 эле­ментов MFT — единственная часть диска, имеющая строго фиксированное поло­жение. Копия этих же 16 записей хранится в середине тома для надежности.

Остальные части MFT-файла могут располагаться, как и любой другой файл, в произвольных местах диска.

Метафайлы носят служебный характер - каждый из них отвечает за какой-либо аспект работы системы. Метафайлы нахо­дятся в корневом каталоге NTFS-тома. Все они начинаются с символа имени “$”, хотя получить какую-либо информацию о них стандартными средствами сложно. В табл. приведены основные известные метафайлы и их назначение.

 

Таблица.  Метафайлы NTFS

Имя метафайла

 

Назначение метафайла

 

$MFT

$

Сам Master File Table

 

$MFTmirr

 

Копия первых 16 записей MFT, размещенная посередине тома

$LogFile

 

Файл поддержки операций журналирования

 

$Volume

 

Служебная информация — метка тома, версия файловой системы и т. д.

 

$AttrDef

 

Список стандартных атрибутов файлов на томе

 

$.

 

Корневой каталог

 

$Bitmap

 

Карта свободного места тома

 

$Boot

 

Загрузочный сектор (если раздел загрузочный)

 

$Quota

 

Файл, в котором записаны права пользователей на использование дискового пространства (этот файл начал работать лишь в Windows 2000 с системой NTFS 5.0)

 

$Upcase

 

Файл — таблица соответствия заглавных и прописных букв в именах файлов. В NTFS имена файлов записываются в Unicode (что составляет 65 тысяч различных символов) и искать большие и малые эквиваленты в данном случае — нетривиальная задача

 

В соответствующей записи MFT хранится вся информация о файле:

·       имя файла,

·       размер;

·       атрибуты файла;

·       положение на диске отдельных фрагментов и т. д.

Если для информации не хватает одной записи MFT, то используется несколько записей, причем не обязательно идущих подряд.

Если файл имеет не очень большой размер, то данные файла хранятся прямо в MFT, в оставшемся от основных данных месте в пределах одной записи MFT.

Таким образом, файлы, занимающие сотни байт, обычно не имеют своего “физического” воплощения в основной файловой области - все данные такого файла хранятся в одном месте, в MFT.

 

Файл в томе с NTFS идентифицируется так называемой файловой ссылкой (File Reference), которая представляется как 64-разрядное число.

Файловая ссылка состоит из

·       номера файла, который соответствует номеру записи в MFT,

·       и номера последовательности. Этот номер увеличивается всякий раз, когда данный номер в MFT используется повторно, что позволяет файловой системе NTFS выполнять внутренние проверки целостности.

 

Представление файлов

 

Каждый файл в NTFS представлен с помощью потоков (streams), то есть у него нет как таковых “просто данных”, а есть потоки.

Один из потоков - это и есть данные файла.

Большинство атрибутов файла - это тоже потоки.

Таким об­разом, получается, что базовая сущность у файла только одна — номер в MFT, а все остальное, включая и его потоки, — опционально.

Данный подход может эффективно использоваться — например, файлу можно “прилепить” еще один поток, записав в него любые данные.

В Windows 2000 таким образом записана информация об авторе и содержании файла (одна из закладок в свойствах фай­ла, просматриваемых, например, из проводника).

 

Интересно, что эти дополни­тельные потоки не видны стандартными средствами работы с файлами: наблю­даемый размер файла — это лишь размер основного потока, который содержит традиционные данные. Можно, к примеру, иметь файл нулевой длины, при сти­рании которого освободится 1 Гбайт свободного места — просто потому, что какая-нибудь хитрая программа или технология “прилепила” к нему дополнитель­ный поток (альтернативные данные) такого большого размера. Но на самом деле в настоящее время потоки практически не используются, так что опасаться по­добных ситуаций не следует, хотя гипотетически они возможны.

 

На идее потока основан один из новейших вирусов, который был не так давно создан для распространения в среде Windows 2000.

 

Атрибуты файлов

 

Стандартные атрибуты для файлов и каталогов в томе NTFS имеют фиксиро­ванные имена и коды типа.

 

Таблица. Атрибуты файлов в системе NTFS. * отмечены обязательные атрибуты.

 

Системный атрибут

 

Описание атрибута

 

*     Стандартная     информация о файле

 

Традиционные атрибуты Read Only, Hidden, Archive, System, отметки времени, включая время создания или последней модификации, число каталогов, ссылающихся на файл

 

Список атрибутов

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

*      Имя файла

 

Имя файла в символах Unicode. Файл может иметь несколько атрибутов — имен файла, подобно тому как это имеет место в UNIX-системах. Это случается, когда имеется связь POSIX с данным файлом или если у файла есть автоматически сгенерированное имя в формате 8.3

 

*  Дескриптор защиты

 

Структура данных защиты (ACL), предохраняющая файл от несанкционированного доступа. Атрибут “дескриптор защиты” определяет, кто владелец файла и кто имеет доступ к нему

 

*      Данные

 

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

 

Корень индекса, размещение индекса, битовая карта (только для каталогов)

 

Атрибуты, используемые для индексов имен файлов в больших каталогах

Расширенные атрибуты HPFS

 

Атрибуты, используемые для реализации расширенных атрибутов HPFS для подсистемы OS/2 и OS/2-клиентов файл-серверов Windows NT

 

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

Организация ката­логов

Каталог в NTFS представляет собой специальный файл, хранящий ссылки на другие файлы и каталоги.

Файл каталога разделен на блоки (2 Кб !!!), каждый из которых содержит

·       имя файла,

·       базовые атрибуты и

·       ссылку на элемент MFT, который уже предоставляет полную информацию об элементе каталога.

Корневой каталог диска ничем не отличается от обычных каталогов, кроме специальной ссылки на него из начала метафайла MFT.

Внутренняя структура каталога представляет собой бинарное дерево, как в HPFS.

Количество файлов в корневом и некорневом каталогах не ограни­чено.

 

Ограничение доступа к файлам и каталогам

Файловая система NTFS поддерживает объектную модель безопасности NT: NTFS рассматривает каталоги и файлы как разнотипные объекты и ведет отдельные (хотя и перекры­вающиеся) списки прав доступа для каждого типа.

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

Права NTFS, назначаемые папкам:

·       нет доступа;

·       полный доступ;

·       право чтения;

·       право добавления;

·       право добавления и чтения;

·       право просмотра;

·       право изменения (чтение/запись/ выполнение/ удаление)

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

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

·       полный доступ;

·       нет доступа;

·       право изменения;

·       право чтения.

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

Средства самовосстановления

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

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

 

Недостатки файловой системы  NTFS

 

Основной недостаток. В NTFS служебные данные занимают много места (например, каждый элемент каталога занимает 2 Кбайт) - для малых раз­делов служебные данные могут занимать до 25% объема носителя.

Þ система NTFS не может использоваться для форматирования флоппи-дисков.

!

Совет. Не стоит пользоваться ею для форматирования разделов объемом менее 100 Мбайт.

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

 

Windows NT содержит специальную утилиту CONVERT.EXE, ко­торая преобразует тома FAT в эквивалентные тома NTFS, однако для обратного преобразования (из NTFS в FAT) подобных утилит не существует. Чтобы вы­полнить такое обратное преобразование, вам придется создать раздел FAT, ско­пировать в него файлы из раздела NTFS и затем удалить оригиналы. Важно при этом не забывать и о том, что при копировании файлов из NTFS в FAT теряются все атрибуты безопасности NTFS (напомним, что в FAT не предусмотрены сред­ства для определения и последующего хранения этих атрибутов).

 

 

 

Назад