Главная файловая таблица
Каждый файл на томе NTFS представлен записью в специальном файле, называемом главной файловой таблицей (MFA — master file table). NTFS резервирует первые 16 записей таблицы для специальной информации. Первая запись этой таблицы описывает непосредственно главную файловую таблицу; за ней следует зеркальная запись (mirror record) MFT. Если первая запись MFT разрушена, то NTFS читает вторую запись для отыскания зеркального фата MFT, первая запись которого идентична первой записи MFT. Местоположения сегментов данных MFT и зеркального файла MFT записаны в секторе начальной загрузки. Дубликат сектора начальной загрузки находится в логическом центре диска.
Третья запись MFT — файл регистрации (log file); используется для восстановления файлов. Файл регистрации подробно описан в настоящей главе ниже. Семнадцатая и последующие записи главной файловой таблицы используются собственно файлами и каталогами (также рассматриваются как файлы NTFS) на томе.
Главная файловая таблица отводит определенное количество пространства для каждой записи файла. Атрибуты файла записываются в распределенное пространство MFT. Небольшие файлы и каталоги (обычно до 1500 байт или меньше) могут полностью содержаться внутри записи главной файловой таблицы.
Подобный подход обеспечивает очень быстрый доступ к файлам. Рассмотрим, например, файловую систему FAT, которая использует таблицу размещения файлов, в которой перечисляются имена и адрес каждого файла. Элементы каталога FAT содержат индекс в таблице размещения файла. В случае если необходимо просмотреть содержимое файла, FAT сначала читает таблицу размещения файлов и убеждается в существовании файла. Далее FAT восстанавливает файл, ища цепочку распределенных блоков, относящихся к этому файлу. В NTFS поиск файла производится только для непосредственного его использования.
Записи каталога помещены внутри главной файловой таблицы так же, как записи файла. Вместо данных каталоги содержат индексную информацию. Небольшие записи каталогов находятся полностью внутри структуры MFT. Большие каталоги организованы в B-tree, имея записи с указателями на внешние кластеры, содержащие элементы каталога, которые не могли быть записаны внутри структуры MFT.
Атрибуты файла NTFS
NTFS просматривает каждый файл (или каталог) как набор атрибутов файла. Такие элемента, как имя файла, информация защиты и даже данные - все это атрибуты файла. Каждый атрибут идентифицирован кодом типа атрибута и, необязательно, именем атрибута.
Если атрибуты файла могут находится внутри записи файла MFT, они называются резидентными (resident) атрибутами. Например, информация типа имени файла и отметки времени всегда включается в запись файла MFT. Если файл слишком большой, чтобы содержать все атрибуты в записи фата MFT, часть атрибутов является нерезидентной (nonresident). Нерезидентные атрибуты занимают один или несколько пробегов (run) дискового пространства в другом месте тома (пробег дискового пространства — неприрывная линейная область на диске).
Вообще, все атрибуты могут быть вызваны как поток байтов независимо от того, являются ли они резидентными или нерезидентными.
Длинные и короткие имена файлов
Подобно HPFS, NTFS поддерживает имена файла до 255 символов. Имена файла N'I'FS используют набор символов Unicode с 16 битами; однако вопрос доступа из MS-DOS решен. NTFS автоматически генерирует поддерживаемое MS-DOS имя (восемь плюс три символа) для каждого файла. Таким образом, файлы NTFS могут использоваться через сеть операционными системами MS-DOS и OS/2. Это особенно важно для файловых серверов организации, которая использует персональные компьютеры с двумя или всеми тремя этими операционными системами.
Создавая имена файла «восемь плюс три», NTFS также позволяет приложениям MS-DOS и Windows З.х работать с файлами, имеющими длинные имена NTFS. Кроме того, при сохранении файла приложениями MS-DOS или Windows З.х на томе NTFS сохраняются и имя файла «восемь плюс три» и длинное имя NTFS.
Если длинное имя файла или каталога на томе NTFS содержит пробелы, следует убедиться, что путь записан ц кавычках. Это справедливо при определении путл в Program Manager для значков приложений. Например, предположим, что Word for Windows установлен в D:\WORD FOR WINDOWS. Командная строка Program Item Properties должна быть установлена в D:\WORD FOR WINDOWS\WINWORD.EXE. При отсутствии кавычек будет отображено сообщение об ошибке «The path D:\Word is invalid» (Путь D:\Word недопустим).
При работе с Windows NT файлы, созданные или переименованные в разделах 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 использует несколько другой метод для создания коротких имен файлов для случая, когда имеется пять или более файлов, которые привели бы к двойным коротким именам файла. Для пятого и последующих файлов Windows NT использует только первые два символа от длинного имени файла и далее специальной математической операцией (функция от длинного имени) генерирует следующие уникальные четыре символа короткого имени файла; после этою к результату добавляется ~5 (или другой номер в случае необходимости избежания двойного имени файла). Такой метод обеспечивает в основном повышенную эффективность для случая, когда Windows NT должна создавать короткие имена файлов для большого количества файлов с похожими длинными именами. Windows NT использует этот метод создания коротких имен для томов FAT и NTFS.
По умолчанию, Windows NT поддерживает имена файлов в формате MS-DOS на всех томах NTFS. Для повышения эффективности работы на томах с большим количеством длинных похожих имен можно запретить эту возможность для всех томов.
Windows NT не генерирует коротких имен для файлов, созданных приложениями POSIX в разделе NTFS. Это означает, что приложения MS-DOS и Windows З.х не смогут работать с подобными именами, если эти имена не удовлетворяют условию «восемь плюс три». В случае необходимости работы из приложении MS-DOS или Windows с файлами, которые созданы приложениями POSIX, следует убедиться, что использованы стандартные имена MS-DOS.
Согласованность с POSIX
Согласованность с POSIX позволяет переносить приложения UNIX в среду Windows NT. Windows NT полностью согласована со стандартом 1003.1 института IEEE, который определяет присвоение имен и идентификацию файлов.
Следующие возможности POSIX включены в NTFS;
• Чувствительные к регистру имена. Для POSIX файлы README.TXT, Readme.txt и readme.txt являются различными.
• Жесткие связи (hard links). Файлу может быть присвоено несколько имен. Это позволяет двум файлам с различными именами, которые могут быть размещены в различных каталогах, содержать одни и те же данные.
• дополнительные отметки времени. Показывают, когда файл был последний раз использован или изменен.
Возможности 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 поддерживает только разрешения папки.
3.3 Защита данных в ОС Windows NT AS
Модель безопасности Windows NT представлена монитором безопасности (Security Reference Monitor), а также двумя другими компонентами: процессом входа в систему (Logon Process) и безопасными защищенными подсистемами. В многозадачной операционной системе, каковой является Windows NT, приложения совместно используют ряд ресурсов системы, включая память компьютера, устройства ввода-вывода, файлы и процессор(ы) системы. Windows NT включает набор компонентов безопасности, которые гарантируют, что приложения не смогут обратиться к этbм ресурсам без соответствующего разрешения.