Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Volume Version версия тома, используется только в системных файлах тома
Volume Information (информация о томе) Используется только в системном файле тома и включает в частности версию и имя тома
Volume Name отметка тома
Index Root (корневой индекс) Корневая вершина дерева типа B+, используемого для поиска файлов в каталоге. Всегда резидентный.
Index Allocation (размещение индекса) Узлы ветвей дерева типа B+. нерезидентные части индексного списка B-дерева
External Attribute Information номер первого кластера и количество кластеров нерезидентного атрибута
Bitmap (битовый массив) Предоставляет информацию об использовании записей в MFT или каталоге

6.5 Хранение файлов.

Файлы NTFS в общем случае состоят из следующих атрибутов:

1. Заголовок записи MFT (H - header)

2. стандартная информация (SI - standard information);

3. Имя файла (FN - file name);

4. Данные (data);

5. дескриптор безопасности (SD - security descriptor).

Резидентное хранение файлов и каталогов:

Файлы и каталоги с размером менее размера записи MFT могут полностью содержаться внутри записи MFT.

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

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

Нерезидентное хранение файлов:

Конечно, в большинстве случаев все данные файла не помещаются в запись MFT, поэтому этот атрибут, как правило, является нерезидентным.

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

Нерезидентное хранение файлов среднего размера:


Нерезидентное хранение больших и сверхбольших файлов:

Если файл настолько велик (или сильно фрагментирован), что его атрибут данных не помещается в одной записи MFT, то этот атрибут становится нерезидентным, то есть он находится в другой записи таблицы MFT, ссылка на которую помещена в исходной записи о файле. Эта ссылка называется внешним атрибутом (external attribute).

Каталоги NTFS:

Каталог на NTFS представляет собой специфический файл, хранящий ссылки на другие файлы и каталоги, создавая иерархическое строение данных на диске. Файл каталога поделен на блоки, каждый из которых содержит имя файла, базовые атрибуты и ссылку на элемент MFT, который уже предоставляет полную информацию об элементе каталога. Внутренняя структура каталога представляет собой бинарное B+ дерево (форма двоичного дерева, в каждом узле которого хранится несколько элементов), элементы которого сортируются по имени.

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

Вывод - для поиска одного файла среди 1000, например, FAT придется осуществить в среднем 500 сравнений (наиболее вероятно, что файл будет найден на середине поиска), а системе на основе дерева - всего около Log2(N), т.е 10-ти (2^10 = 1024).

Хранение каталогов:

Небольшие записи каталогов находятся полностью внутри структуры MFT так же, как записи файла (копии атрибута File_Name файлов и подкаталогов). Для хранения используется атрибут $Index_Root (корневой индекс), который всегда резидентный!

В том случае, когда атрибуты файла (или каталога) не умещаются в MFT и требуется выделение дополнительного пространства:

1. Для хранения описания файлов выделяются нерезидентные индексные буферы (4 Кбайт),

каждый из которых имеет виртуальный номер кластера (virtual clusters numbers, VCN) для

сквозной нумерации кластеров в рамках одной записи MFT;

2. Корневой индекс хранит корень дерева B+ и ссылки (VCN) на индексные буферы.

3. Соответствие между VCN и LCN хранится в атрибуте каталога $Index_Allocation. Примечание:

Логические номера кластеров (LCN), представляют последовательность кластеров всего тома

Пример хранения каталогов:

а.) запись MFT для небольшого каталога (резидентное хранение)

б) запись MFT для “большого” каталога (нерезидентное хранение)

Запись MFT для небольшого каталога:


Запись MFT для небольшого каталога содержит несколько каталоговых записей, каждая из которых описывает файл или каталог.

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

Поиск файла в каталоге по имени состоит в последовательном переборе всех имен файлов.

Хранение корневого каталога

6.6 Сжатие файлов.

Файловая система NTFS поддерживает прозрачное сжатие файлов. Сжатие файлов производится следующим образом.

Когда файловая система NTFS записывает на диск файл, помеченный для сжатия, она изучает первые 16 логических блоков файла, независимо от того, сколько сегментов на диске они занимают. Затем к этим блокам применяется алгоритм сжатия. Если полученные на выходе блоки могут поместиться в 15 или менее блоков, то сжатые данные записываются на диск, предпочтительно в виде одного сегмента. Если получить выигрыш не получается, то данные 16 блоков записываются без сжатия. Затем алгоритм повторяется для следующих 16 блоков и т.д.

Сжатие файла частями по 16 блоков явилось компромиссом, если бы порции были меньше, то эффективность бы сжатия снизилась. Если размер блока был бы больше, то это замедлило бы произвольный доступ.


На слайде показан файл, в котором первые 16 блоков успешно сжаты в 8 блоков, следующие 16 не могут быть сжаты, наконец, последние 16 блоков также успешно сжаты на 50%.

Эти три части файла записаны в виде трех сегментов, информация о которых хранится в записи MFT. “Пропущенные” блоки обозначаются в записи MFT как сегменты с нулевым дисковым адресом. На слайде за заголовком (0,48) следует 5 пар, две для первого (сжатого) сегмента, одна для несжатого и две для последнего (сжатого) сегмента.

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

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

Разреженные файлы (sparse files):

Другой тип сжатия известен как разреженные файлы.

Если у вас есть файлы, которые содержат множество нулей (попросту говоря в файле есть "пустые области"), то NTFS позволяет сохранять пространство диска, давая таким файлам определение sparse (разреженный).

Так вот при сохранении таких файлов система просто не выделяет место для пустых областей файла - в результате чего и достигается уменьшение размера файла. При обращении системы к частям, отмеченным как пустые, NTFS просто возвращает нулевые значения. При просмотре свойств файла система сообщит о зарезервированном для него размере, хотя фактический объем может занимать в сотни тысяч раз меньший объем.

Разреженные файлы применяются, в частности, в журнале NTFS ($LogFile).

6.7 Защита целостности данных.

NTFS является восстанавливаемой ФС и поддерживает следующие технологии защиты целостности данных:

1. Тома с аппаратной или программное поддержкой RAID 0, RAID 4, RAID 5 и пр.

2. Горячая фиксация - позволяет файловой системе при возникновении ошибки из-за плохого

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

3. Механизм транзакций - каждая операция ввода-вывода, которая изменяет файл на разделе NTFS,

рассматривается файловой системой как транзакция и может выполняться только как неделимый

блок.

Система восстановления NTFS гарантирует корректность файловой системы, а не ваших данных.

Целостность данных и кэширование:

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

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

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

Горячая фиксация:

а) MFT-запись файла с плохим кластером;

б) исправленная MFT-запись файла;

6.8 Дополнительные возможности.

Дополнительные возможности NTFS:

Hard Link – несколько имен для одного файла

Точки подсоединения NTFS (junction point)

Создание Hard Link:

fsutil hardlink create <новый файл> <существующий файл

Пример: fsutil hardlink create c:\foo.txt c:\bar.txt

Точки подсоединения:

Другим новшеством в Windows 2000 стало монтирование устройств. Утилита Disk Administrator Windows NT позволяла назначить тому букву латинского алфавита. Этот довольно простой метод дает возможность обратиться к любому дисковому устройству из стандартного меню открытия файла. Естественным ограничением на количество локальных и подключенных сетевых устройств было число 26, соответствующее числу букв латинского алфавита.

Подмонтирование возможно только к пустым папкам на NTFS-томах, а точки монтирования вы можете создать или из оснастки «Управление дисками», или из командной строки при помощи команды mountvol. Для того, чтобы отличить подмонтированные накопители от обычных папок, Explorer показывает их иконками соответствующих устройств. Для чего это может понадобиться? Во-первых, можно таким образом преодолеть ограничение на количество доступных логических дисков (ранее их не могло быть больше 26 - по числу букв латинского алфавита), повысить ёмкость существующих томов не используя динамические и… создавать отказоустойчивые папки на обычных томах.

Например, при монтировании нового основного раздела к папке D:\My Work Stuff все последующие обращения к этой папке будут автоматически переадресованы на соответствующий новый основной раздел, даже если он расположен на другом физическом диске, чем устройство D:. Если новый том является отказоустойчивым, то и папка D:\My Work Stuff считается отказоустойчивой, даже если само устройство D: этим качеством не обладает.





Дата публикования: 2014-11-19; Прочитано: 2049 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.012 с)...