Читайте также:
|
|
Структура NTFS начинается с тома (volume). Том соответствует логическому разделу на диске и создается, когда Вы форматируете диск или часть его для NTFS. Возможно также создание отказоустойчивого тома, занимающего несколько дисков, при помощи Администратора дисков (Windows NT Disk Administrator).
На одном диске может находиться один или несколько томов. NTFS обрабатывает каждый том независимо от других. Примеры конфигурации для жесткого диска 150 Мбайт приведены на рис. 3-1.
Рис. 3-1. Примеры конфигураций диска. |
Том состоит из ряда файлов и свободного пространства, оставшегося в данном разделе диска. В ФС FAT и HPFS том содержит также области, специально отформатированные для использования ФС. Том NTFS, однако, хранит все дан-
ные ФС, такие как битовые карты, каталоги и даже системный загрузчик в виде обычных файлов.
NTFS напоминает файловую систему FAT тем, что обе они используют кластер как основную единицу распределения дискового пространства. Размер кластера на томе, или кластерный множитель (cluster factor) устанавливается утилитой Format NTFS, когда пользователь форматирует том. Кластерный множитель зависит от размера тома, но в любом случае является целым числом физических секторов и степенью 2(1 сектор, 2 сектора, 4 сектора, 8 секторов и т.д.), как показано на рис. 3-2. Кластерный множитель выражается количеством байтов в кластере, например, 512 байт, 1 Кбайт или 2 Кбайт.
Рис. 3-2. Секторы и кластер на диске.
Внутри себя NTFS работает только с кластерами и не обращает внимания на размер сектора. В отличие от HPFS, которая требует использования 512-байтового физического сектора в качестве единицы распределения пространства, NTFS использует кластер как единицу распределения, чтобы сохранить независимость от размеров физического сектора. Это позволяет NTFS эффективно работать с очень большими дисками, используя больший размер кластера, а также поддерживать нестандартные диски, размер сектора у которых отличен от 512 байт. На томе объемом 600 Мбайт или более, например, использование размера кластера, превышающего 512 байт, может сократить фрагментацию и ускорить выделение свободного пространства, за счет небольшого проигрыша в объеме используемого пространства. Утилита Format NTFS автоматически определяет подходящий размер кластера, однако администратор системы может изменить это значение1.
В NTFS физическое местоположение на диске задается при помощи логического номера кластера (logical cluster number, LCN). LCN получаются просто при нумерации всех кластеров от начала тома до его конца. Чтобы преобразо-
1 Утилита Format использует размер кластера, равный 512 байт (или размер аппаратного сектора, если он больше чем 512 байт) для дисков объемом до 512 Мбайт. Для больших дисков, размером до 1 Гбайт, используется размер кластера 1 Кбайт. Для дисков объемом от 1 до 2 Гбайт утилита использует размер кластера, равный 2 Кбайт. Если объем диска превышает 2 Гбайт, то утилита устанавливает размер кластера, равный 4 Кбайт. Эта формула позволяет сбалансировать естественное противоречие между фрагментацией диска, которая может возникать при слишком малом размере кластера, и неиспользуемым дисковым пространством (внутренняя фрагментация), имеющим место при слишком большом размере кластера.
вать LCN в физический адрес на диске, его нужно умножить на кластерный множитель, в результате чего получается физическое смещение в байтах, как требует интерфейс дискового драйвера.
В разд. 2.2 описано, что NTFS поддерживает файл, называемый главной файловой таблицей (MFT), который является сердцевиной структуры тома NTFS. Логически MFT содержит по одному ряду для каждого файла тома, включая ряд для самой себя. Кроме MFT, каждый том NTFS содержит загрузочный файл (он описан ниже) и набор файлов, содержащих информацию, называемую метаданными (metadata), которая используется для реализации структуры ФС. Остальные файлы на томе NTFS — это обычные пользовательские файлы и каталоги, как показано на рис. 3-3.
Рис. 3-3. Записи метаданных NTFS и пользовательских данных в MR.
MFT реализована в виде массива файловых записей. "Ряд" MFT представляет один файл на диске, состоящий обычно из одной файловой записи. Однако, если у файла много атрибутов или он сильно фрагментирован, то может потребоваться более одной файловой записи. В этом случае первая запись, в которой хранятся местоположения остальных, называется базовой файловой записью (base file record).
Рис. 3-4. Файловая ссылка. |
Файл на томе NTFS идентифицируется 64-разрядным значением, называемым файловой ссылкой (file reference). Файловая ссылка состоит из номера файла и номера последовательности. Номер файла соответствует позиции его файловой записи в MFT минус 1 (или позиции базовой файловой записи минус 1, если файл использует более одной записи). Номер последовательности в файловой ссылке увеличивается всякий раз, когда данная позиция в MFT используется повторно, что позволяет NTFS выполнять внутренние проверки целостности. Структура файловой ссылки изображена на рис. 3-4.
Ранее файл NTFS был определен как набор атрибутов, включая атрибут-имя файла, атрибут-дескриптор защиты и атрибут-данные. NTFS обозначает атрибут его именем, записанным прописными буквами, перед которым стоит знак доллара ($): например, SFILENAME или SDATA Однако на самом деле эти имена атрибутов соответствуют числовым кодам типа, которые NTFS использует для упорядочения атрибутов внутри файловой записи. На рис. 3-5 показана запись MFT для небольшого файла.
Каждый атрибут хранится в файле как отдельный поток байтов. Строго говоря, NTFS не выполняет чтения и записи файлов — она читает и записывает потоки, соответствующие атрибутам. Возможны следующие операции над атрибутами: создание, удаление, чтение (диапазона байтов) и запись (диапазона байтов). Операции чтения и записи обычно работают над безымянным атрибутом данных файла. Однако, можно указать другой атрибут данных при помощи синтаксиса именованных потоков данных (см. рис. 2-4).
Структура тома NTFS определяет для файлов набор стандартных атрибутов. Эти системные атрибуты имеют фиксированные имена и коды типа, и формат их значений определяется NTFS. Атрибуты перечислены в табл. 3-1 в том же порядке, в каком они следуют в файловой записи, хотя необязательно для каждого файла должны присутствовать все атрибуты.
Таблица 3-1. Стандартные атрибуты файлов и каталогов
Системный атрибут | Описание |
Стандартная информация | "MS-DOS"-aTpH6yTbi файла (только чтение, чтение/запись и др.); отметки времени, включая время создания или последней модификации; число каталогов, ссылающихся на данный файл, или счетчик жестких связей (hard disk count). |
Список атрибутов | Список атрибутов, из которых состоит файл, и файловая ссылка на файловую запись MFT, в которой расположен каждый из атрибутов. Этот редко используемый атрибут присутствует, если файлу необходимо более одной записи MFT. |
Имя файла | Имя файла в символах UNICODE. Файл может иметь несколько атрибутов-имен файла, что имеет место при наличии жесткой связи POSIX к данному файлу или если у файла есть автоматически сгенерированное "короткое имя" для приложений MS-DOS и 16-разрядной версии Windows. |
Дескриптор защиты | Структура данных защиты, предохраняющая файл от несанкционированного доступа. Атрибут-дескриптор защиты определяет, кто владелец файла и кто имеет доступ к нему. |
Данные | Содержимое файла. В NTFS у файла по умолчанию есть один безымянный атрибут данных, и он может иметь дополнительные именованные атрибуты данных (таким образом, у файла может быть несколько потоков данных). У каталога нет атрибута данных по умолчанию, но он может иметь необязательные именованные атрибуты данных. |
Корень индекса, размещение индекса, битовая карта (только для каталоге»! | Три атрибута, используемые для индексов имен файлов в больших каталогах |
Расширенные атрибуты HPFS, информация расширенных атрибутов HPFS | Два атрибута, используемые для реализации расширенных атрибутов HPFS для подсистемы OS/2 и OS/2-клиентов файл-серверов Windows NT. |
Рис. 3-5. Запись MFT для небольшого файла.
Дата добавления: 2015-07-10; просмотров: 132 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Объектная модель | | | Структура на диске |