div.main {margin-left: 20pt; margin-right: 20pt}
Файловая система
NTFS
NTFS обеспечивает комбинацию эффективности,
надежности и совместимости, отсутствующую в FAT или HPFS. Она разработана для
быстрого выполнения стандартных файловых операций типа чтения, записи и
поиска, а также улучшенных операций типа восстановления файловой системы на
очень больших жестких дисках.
NTFS также включает возможности безопасности,
требуемые для файловых серверов и высококачественных персональных компьютеров
в корпоративной среде. NTFS поддерживает управление доступом к данным и
привилегии владельца, что является важным для целостности корпоративных
данных. В то время как каталогам, разделяемым при помощи Windows NT Server,
назначаются специфические разрешения, файлам и каталогам NTFS могут
назначаться разрешения вне зависимости, разделены они или нет. NTFS —
единственная файловая система в Windows NT, которая позволяет назначить
разрешения для отдельных файлов.
NTFS является простой, но очень мощной разработкой.
Для этой перспективной файловой системы вся информация на томе NTFS является
файлом или частью файла. Каждый распределенный на томе NTFS сектор принадлежит
некоторому файлу. Даже метаданные (metadata) файловой системы (информация,
которая описывает непосредственно файловую систему) являются частью
файла.
Эта основанная на атрибутах файловая система
поддерживает объектно - ориентированные приложения, обрабатывая все файлы как
объекты, которые имеют определяемые пользователем и системой
атрибуты.
Главная файловая
таблица
Каждый файл на томе NTFS представлен записью в
специальном файле, называемом главной файловой таблицей (MFA — master file
table). NTFS резервирует первые 16 записей таблицы для специальной информации.
Первая запись этой таблицы описывает непосредственно главную файловую
таблицу;
за ней следует зеркальная запись (mirror record)
MFT. Если первая запись MFT разрушена, то NTFS читает вторую запись для
отыскания зеркального файла MFT, первая запись которого идентична первой
записи MFT. Местоположения сегментов данных MFT и зеркального файла MFT
записаны в секторе начальной загрузки. Дубликат сектора начальной загрузки
находится в логическом центре диска.
Третья запись MFT — файл регистрации (log file);
используется для восстановления файлов. Файл регистрации подробно описан в
настоящей главе ниже. Семнадцатая и последующие записи главной файловой
таблицы используются собственно файлами и каталогами (также рассматриваются
как файлы NTFS) на томе. На рис. 5.5 показана упрощенная структура
MFT.
Рис. 5.5. Организация главной файловой
таблицы
Главная файловая таблица отводит определенное
количество пространства дтя каждой записи файла. Атрибуты файла записываются в
распределенное пространство MFT. Небольшие файлы и каталоги (обычно до 1500
байт или меньше), типа файла, показанного на рис. 5.6, могут полностью
содержать. внутри записи главной файловой таблицы.
Подобный подход обеспечивает очень быстрый доступ к
файлам. Рассмотрим. например, файловую систему FAT, которая использует таблицу
размещения файлов, в которой перечисляются имена и адрес каждого файла.
Элементы каталога FAT содержат индекс в таблице размещения файла. В случае
если
Стандартная
информация |
Имя файла
или каталога |
Дескриптор
безопасности |
Данные или
указатель |
|
Рис. 5.6. Запись MFT для небольшого файла или
каталога
необходимо просмотреть содержимое файла, FAT
сначала читает таблицу размещения файлов и убеждается в существовании файла.
Далее FAT восстанавливает файл, ища цепочку распределенных блоков, относящихся
к этому файлу. В NTFS поиск файла производится только для непосредственного
его использования.
Записи каталога помещены внутри главной файловой
таблицы так же, как записи файла. Вместо данных каталоги содержат индексную
информацию. Небольшие записи каталогов находятся полностью внутри структуры
MFT. Большие каталоги организованы в B-tree, имея записи с указателями на
внешние кластеры, содержащие элементы каталога, которые не могли быть
записаны внутри структуры MFT.
Атрибуты файла
NTFS
NTFS просматривает каждый файл (или каталог) как
набор атрибутов файла. Такие элементы, как имя файла, информация зашиты и даже
данные — все это атрибуты файла. Каждый атрибут идентифицирован кодом типа
атрибута и, необязательно, именем атрибута.
Если атрибуты файла могут находится внутри записи
файла MFT, они называются резидентными (resident) атрибутами. HanpHMqi,
информация типа имени файла и отметки времени всегда включается в запись файла
MFT. Если файл слишком большой, чтобы содержать все атрибуты в записи файла
MFT, часть атрибутов является нерезидентной (nonresident). Нерезидентные
атрибуты занимают один или несколько пробегов (run) дискового пространства в
другом месте тома (пробег дискового пространства — непрерывная линейная
область на диске).
Вообще, все атрибуты могут быть вызваны как поток
бантов независимо от того, являются ли они резидентными или
нерезидентными.
В табл. 5.1 представлен список всех атрибутов
файла, в настоящее время определенных для NTFS. Этот список расширяем, т. е.
другие атрибуты файла в будущем могут быть определены в случае
необходимости.
Таблица 5.1. Атрибуты файла NTFS
Тип атрибута |
Описание |
Standard Information (стандартная
информация) |
Включает бюджет связи и так
далее |
Attribute List (список
атрибутов) |
Перечисляет все другие атрибуты
(только в больших файлах) |
Filename (имя файла) |
Атрибут, повторяющийся для
длинных и для коротких имен файлов Длинное имя файла может содержать до
255 символов Unicode Короткое имя — доступно для MS-DOS, восемь плюс три
символа, без учета регистра Дополнительные имена, или жесткие связи
(hard links), используются POSIX и могут быть также включены в качестве
дополнительных атрибутов имени файла |
Security Descriptor (дескриптор
безопасности) |
Фиксирует информацию о том, кто
может обращаться к файлу, кто является его владельцем и так
далее |
Data (данные) |
Содержит данные
файла |
Index Root (корень
индексов) |
Используется при работе с
каталогами |
Index Allocation (индексное
размещение) |
Используется при работе с
каталогами |
Volume Information (информация
тома) |
Используется только в системном
файле тома и включает в частности версию и имя тома |
Bitmap (битовый массив) |
Предоставляет информацию об
использовании записей в MFT или каталоге |
Extended Attribute Information
(информация расширенного атрибута) |
Используется файловыми серверами,
которые связаны с системами OS/2 Этот тип атрибута не используется
Windows NT |
Extended Attributes (расширенные
атрибуты) |
Используется файловыми серверами,
которые связаны с системами OS/2 Этот тип атрибута не используется
Windows NT |
Длинные и короткие имена
файлов
Подобно HPFS, NTFS поддерживает имена файла до 255
символов. Имена файла NTFS используют набор символов Unicode с 16 битами;
однако вопрос доступа из MS-DOS решен. NTFS автоматически генерирует
поддерживаемое MS-DOS имя (восемь плюс три символа) для каждого файла. Таким
образом, файлы NTFS могут использоваться через сеть операционными системами
MS-DOS и OS/2. Это особенно важно для файловых серверов организации, которая
использует персональные компьютеры с двумя или всеми тремя этими операционными
системами.
Создавая имена файла “восемь плюс три”, NTFS также
позволяет приложениям MS-DOS и Windows 3-х работать с файлами, имеющими
длинные имена NTFS Кроме того, при сохранении файла приложениями MS-DOS или
Windows 3. на томе NTFS сохраняются и имя файла “восемь плюс три” и длинное
имя NTFS.
Внимание! При сохранении файла приложениями MS-DOS
или Windows З.х на томе NTFS, если приложение сохраняет временный файл,
удаляет первоначальный файл и переименовывает временный файл с первоначальным
именем, длинное имя файла теряется. Любой уникальный набор разрешений файла
также теряется. Разрешения передаются заново из родительского
каталога.
Если длинное имя файла или каталога на томе NTFS
содержит пробелы, следует убедиться, что путь записан в кавычках. Это
справедливо при определении пути в Program Manager для значков приложений
Например, предположим, что Word for Windows установлен в D WORD FOR WINDOWS.
Командная строка Program Item Properties должна быть установлена в D WORD FOR
WINDOWSWINWORD ЕХЕ. При отсутствии кавычек будет отображено сообщение об
ошибке “The path DAWord is invalid” (Путь D:Word недопустим).
Ниже приведен пример легальной записи командной
строки, содержащей пробелы:
move "с:This month's reports*.*" "с:Last mont's
reports'
Внимание! Необходимо внимательно подходить к
использованию групповых символов типа * и ? вместе с командами del и copy. При
выполнении этих команд NTFS работает и с длинным и с коротким именем файла;
таким образом могут быть удалены или скопированы лишние файлы.
Для копирования или перемещения файлов с
чувствительными к регистру длинными именами, самым надежным способом является
выбор файлов с использованием мыши в File Manager. Этот способ позволяет
однозначно определить файлы для выполнения операций над ними.
При работе с Windows NT 3.5 файлы, созданные или
переименованные в разделах FAT, могут иметь связанные длинные имена. Правила
управления длинными именами файла на томе NTFS также относятся к длинным
именам файла на разделах FAT; отличие заключается в том, что имена файла на
FAT нс могут содержать расширенные символы. Дополнительную информацию о
поддержке длинных имен файлов для разделов FAT можно найти в разделе “Файловая
система FAT”. Генерация короткого имени файла
Поскольку NTFS использует набор символов Unicode
для имен файлов, существует возможность задействования нескольких
“запрещенных” символов, которые MS-DOS не может читать в имени файла. Для
генерации короткого имени файла в стиле MS-DOS, NTFS удаляет все эти символы и
любые пробелы из длинного имени файла. Так как имя файла в MS-DOS может иметь
только одну точку, NTFS также удаляет все дополнительные точки из имени файла.
Далее, в случае необходимости NTFS усекает имя файла до шести символов и
добавляет тильду (~) и номер. Например, к каждому недублированному имени файла
добавляется -1. Повторяющиеся имена файлов заканчиваются символами ~2, ~3 и т.
д. Расширение имени файла усекается до трех или меньшего количества символов.
Наконец, при отображении имени файла в командной строке NTFS транслирует все
символы в имени файла и расширении к верхнему регистру (File Manager
отображает эти имена файла в нижнем регистре).
Windows NT 3.5 использует несколько другой метод
для создания коротких имен файлов для случая, когда имеется пять или более
файлов, которые привели бы к двойным коротким именам файла. Для пятого и
последующих файлов Windows NT использует только первые два символа от длинного
имени файла и далее специальной математической операцией (функция от длинного
имени) генерирует следующие уникальные четыре символа короткого имени файла;
после этого к результату добавляется ~5 (или другой номер в случае
необходимости избежания двойного имени файла). Такой метод обеспечивает в
основном повышенную эффективность для случая, когда Windows NT должна
создавать короткие имена файлов для большого количества файлов с похожими
длинными именами. Windows NT использует этот метод создания коротких имен для
томов FAT и NTFS.
По умолчанию, Windows NT 3.5 поддерживает имена
файлов в формате MS-DOS на всех томах NTFS. Для повышения эффективности работы
на томах с большим количеством длинных похожих имен можно запретить эту
возможность для всех томов. Для отключения поддержки коротких имен файлов на
всех томах NTFS необходимо установить в 1 значение
NTfsDisable8dot3NameCreation следующего элемента реестра:
HKEY_LOCAL_MACHINESystemCurrentControlSetControlFileSystem
Windows NT не генерирует коротких имен для файлов,
созданных приложениями POSIX в разделе NTFS. Это означает, что приложения
MS-DOS и Windows З.х не смогут работать с подобными именами, если эти имена не
удовлетворяют условию “восемь плюс три”. В случае необходимости работы из
приложений MS-DOS или Windows с файлами, которые созданы приложениями POSIX,
следует убедиться, что использованы стандартные имена MS-DOS. Просмотр
коротких имен файла
File Manager и команда dir позволяют отображать или
длинные имена файлов NTFS или короткие имена стандарта MS-DOS, так что можно
работать с файлами, используя оба типа имен. Для просмотра коротких имен
файлов в File Manager следует выбрать Full File Details.
При работе с командной строкой просмотр обоих типов
имен осуществляется
с использованием команды:
dir /х
Внимание! Для автоматического отображения длинных и
коротких имен файлов следует с помощью значка System ю Control Panel
установить для переменно” dircmd значение /х.
Потоки данных
NTFS поддерживает многочисленные потоки данных. Имя
потока идентифицирует новый атрибут данных в файле. Потоки имеют раздельные
блокировки opportunistic, блокировки файла, размеры размещения и размеры
файла, но совместно используются как файл.
Следующий пример иллюстрирует один из
потоков:
myfile.dat:stream2
Эта возможность позволяет управлять связаюшми
данными как отдельным модулем. Например, компьютеры Macintosh используют этот
тип структуры для управления ветвлениями данных и ресурсами. Другим примером
может служить библиотека файлов, в которой файлы определены как альтернативные
потоки:
library: filel : file2 :
file3
Или предположим, что “интеллектуальный” транслятор
создает структур файла подобно следующей:
program: source_file : doc_file : object_file :
executable_file
Внимание! Т. к. NTFS lie поддерживается на гибких
дисках, то при копировании файлов NTFS на гибкий диск потоки данных и другие
не обеспечиваемые FAT атрибуты теряются.
Согласованность с POSIX
Согласованность с POSIX позволяет переносить
приложения UNIX в среду Windows NT. Windows NT полностью согласована со
стандартом 1003.1 института IEEE, который определяет присвоение имен и
идентификацию файлов.
Следующие возможности POSIX включены в NTFS:
• Чувствительные к регистру имена Для POSIX
файлы README TXT, Readme.txt и readme.txt являются различными.
• Жесткие связи (hard Imks) Файлу может быть
присвоено несколько имен. Это позволяет двум файлам с различными именами,
которые могут быть размещены в различных каталогах, содержать одни и те же
данные.
• Дополнительные отметки времени
Показывают, когда файл был последний раз использован или
изменен.
Внимание! Несмотря на то что NTFS поддерживает
рсшстрозависимые имена, нельзя использовать стандартные операции NTFS для
управления файлами, имена которых отличаются только регистром (к стандартным
операциям относятся вьшолняемые из командной строки, типа copy, del и move, и
их эквиваленты в File Manager). Например, оба файла annm.doc и AnnM.Doc будут
удалены при использовании следующей команды:
del AnnM.Doc
Таким образом, для управления файлами, имена
которых отличаются только регистром, следует использовать приложения
POSIX.
Дополнительная информация по рассматриваемому
вопросу приведена в разделах, связанных с подсистемой POSIX, в главах 1 и
17.
Возможности NTFS, используемые
Macintosh Services Clients
Сервис для Macintosh входит в состав Windows NT
Server. Этот сервис предоставляет пользователям Macintosh возможность доступа
к файлам, находящимся на Windows NT Server; т. к. эти файлы доступны сетевым
пользователям Windows NT, файловый сервер может быть легко использован для
общего доступа с различных аппаратных платформ.
При разрешении сервиса для Macintoch следует
сделать доступным раздел NTFS, если требуется автоматическое создание тома
модуля аутентификации пользователя (User Authentification Module) для клиентов
Macintosh (Network Control Panel использует первый раздел NTFS для создания
этих томов по умолчанию).
Клиенты Macintosh могут использовать только файлы
на томах NTFS. Ветвления ресурсов Macintosh и информация Finger для каждого
файла Macintosh сохраняются как потоки NTFS. Поскольку NTFS поддерживает
длинные имена, большинство имен файлов Macintosh сохраняются. Сервис для
Macintosh сохраняет привилегии папки (File Sharing folder) как разрешения
Windows NT; это означает, что существует только один набор разрешений для
папки или файла, который предписан и пользователям Windows NT и пользователям
Macintosh. Однако пользователи Macintosh не смогут видеть разрешения файла,
так как AppleShare поддерживает только разрешения папки.
Дополнительную информацию относительно сервиса для
Macintosh можно найти в документации Windows NT Server Services for
Macintosh.
Системные файлы
NTFS
NTFS включает несколько системных файлов, которые
скрыты от просмотра на томе. Системные файлы используются только файловой
системой для хранения метаданных и поддержания работы файловой системы.
Системные файлы записываются на том утилитой Format. Список системных файлов
NTFS представлен в табл. 5.2.
Таблица 5.2. Системные файлы
NTFS
Системный файл |
Имя
файла |
Описание |
Master File
Table
(главная файловая таблица) |
$Mft
|
Список содержимого
тома NTFS
|
Master File
ТаЫе2
(копия главной файловой таблиць |
$MftMirr
-) |
Зеркальное
отображение наиболее важных
частей MFT, используется для га
рантирования доступа к MFT в случае
сбоя
одиночного сектора |
Log
File
(регистрационный файл) |
$LogFile
|
Список
шагов транзакции используемых
Log File System для восстановления состо яния
(recoverability) |
Volume
(том) |
$Volume |
Имя версия и другая
информация относительно тома |
Attribute
Definition
(определение атрибутов) |
$AttrDef
|
Таблица имен
атрибутов номеров и
дескрипторов |
Root Filename Index
(индекс корня файловых имен) |
$ |
Корневой
каталог |
Claster
Bitmap
(битовый массив кластеров) |
$Bitmap
|
Описание
содержимого тома показываю
щее какие размещаемые модули
использованы |
Boot
File
(загрузочный файл) |
$Boot
|
Содержит
информацию начальной загрузки
для тома если том является
загрузочным |
Bad Cluster
File
(файл плохих кластеров) |
$BadClus
|
Содержит
указание положения плохих кластеров тома |
Сравнение NTFS с HPFS и
FAT
NTFS заимствовала лучшие свойства FAT и HPFS. От
FAT система NTF заимствовала философию “простота рождает эффективность”.
Эффективность увеличивается, когда число дисковых передач минимизировано для
общих операций. От HPFS система NTFS унаследовала методы для повышения
быстродействия и гибкости. Например, NTFS использует B-tree, подобные
применяемым в HPFS для максимизации эффективности. NTFS поддерживает и длинные
и короткие имена файлов для совместимости с MS-DOS, HPFS и другими сетевыми
клиентами, включая OS/2, UNIX, Ap-pleShare и NFS. NTFS также обеспечивает
многочисленные расширенные (extended) атрибуты и позволяет будущим приложениям
определить другие расширенные атрибуты.
NTFS обеспечивает безопасность данных на
фиксированных и сменных жестких дисках, что особенно важно для корпоративных
пользователей. Например, предположим, что пользователь Alexander имеет сменный
жесткий диск на компьютере. Этот жесткий диск форматируется как том NTFS и
имеет разрешения защиты, которые разрешают доступ только Alexander и другому
пользователю в этом же домене, Ann. Ann работает в филиале компании. Alexander
извлекает диск из компьютера и посылает его Ann, которая устанавливает диск в
свой компьютер. При обращении к файлам на диске благодаря тому, что Ann
находится в том же самом домене, что и Alexander, она видит, что механизмы
защиты внутри области для тома NTFS является неповрежденными.
Внимание! Необходимо убедиться в закрытии системы
перед извлечением диска, содержащего том NTFS.
Кроме этого, NTFS обеспечивает систему
восстановления, которая является более надежной, чем у FAT или HPFS; NTFS
также отвечает требованиям POSIX.
В табл. 5.3 представлены сравнительные
характеристики FAT, HPFS и NTFS применительно к Windows NT:
Таблица 5.3. Сравнение характеристик FAT, HPFS и
NTFS
Характеристика |
FAT |
HPFS |
NTFS |
Filename (имя
файла) |
“Восемь плюс три”
символа ASCII (допускается один разделитель — точка); в Windows NT 255
символов Unicode (допускается несколько разделителей) |
254 байта двухбайтных
символов (допускается несколько разделителей) |
255 символов Unicode
(допускается несколько разделителей) |
File size (размер
файла) |
2 в 32
байта |
2 в 32
байта |
2 в 64
байта |
Partition
(раздел) |
2 в 32
байта |
2 в 32
байта |
2 в 64
байта |
Maximum path length
(максимальная длина пути) |
64: в Windows NT не
ограничена |
Не
ограничена |
Не
ограничена |
Attributes
(атрибуты) |
Только несколько
однобитовых флажков плюс несколько байтов информации расширенных
атрибутов в Windows NT 3.5 |
Однобитовые флажки
плюс 64 Кб информации расширенных атрибутов |
Вся информация,
включая данные. обрабатывается как атрибуты файла |
Directories
(каталоги) |
Не
сортируются |
B-tree |
B-tree |
Philosophy
(философия) |
Простота |
Эффективность на
больших дисках |
Быстрота,
восстанавливаемость и безопасность |
Built-in security
features (встроенные средства без-опасности) |
Нет |
Нет |
Есть |
|