Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Структура на диске

Читайте также:
  1. HABITUS», «СТРУКТУРАЦИЯ», «САМОРЕФЕРЕНЦИЯ».
  2. III. Структура и руководящие органы
  3. III. Формирование, структура и организация работы
  4. VI. Слоистая структура человеческой души
  5. А). Типы интерфейсов и структура экрана РС
  6. Академическая и заводская социология: статус и структура
  7. Балльная структура оценки

Как было показано на предыдущих рисунках, ряды (файловые записи) MFT отвечают файлам на томе NTFS, а колонки — атрибутам файлов. Вся информация файла хранится в его атрибутах, и таким образом, ряды и колонки MFT описывают всю информацию, хранящуюся на томе NTFS. Размер файловых записей MFT для тома — минимум 1 Кбайт и максимум 4 Кбайт — определяется во время его форматирования.

Атрибуты файла в записях MFT расположены в порядке возрастания числовых значений кодов типа, причем некоторые типы атрибутов могут встречаться в записи более одного раза: например, если у файла есть несколько атрибутов данных или несколько имен. На рис. 3-5 показаны атрибуты, которые обязательны для каждого файла: атрибут стандартной информации, атрибут имени файла, атрибут дескриптора защиты и атрибут данных. В записи MFT могут встречаться и другие атрибуты, если они необходимы для данного файла.

Каждый атрибут в файловой записи имеет имя (необязательное) и значение. Имена используются в основном с атрибутами данных для идентификации второго или третьего потока данных в файле. Значение атрибута — это поток байтов, составляющих его. Например, значение атрибута $FILENAME — это имя файла; значение атрибута IDATA — это произвольный набор байтов, сохраненных пользователем в этом файле. Для маленького файла все его атрибуты и их значения (например, данные файла) умещаются в файловой записи. Если значение атрибута хранится непосредственно в MFT, он называется резидентным атрибутом (resident attribute). (На рис. 3-5 все атрибуты — резидентные.)

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


ОСНОВЫ ФАЙЛОВОЙ СИСТЕМЫ NTFS

Рис. 3-6 Заголовок и значение резидентного атрибута.

щение значения атрибута относительно заголовка и длину этого значения, как показано на рис. 3-6 для атрибута-имени файла.

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

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

Рис. 3-7. Файловая запись MR для небольшого каталога.

Конечно, многие файлы и каталоги не удается втиснуть в запись MFT — структуру данных размером 1, 2 или 4 Кбайт. Если некоторый атрибут, например, атрибут данных файла, слишком велик, чтобы поместиться в файловую запись MFT, то NTFS выделяет на диске область размером 2 Кбайт2, отделенную от MFT. В этой области, называемой отрезком (run), или экстентом (extent), хранится значение атрибута (например, данные файла). Если затем размер значения атрибута увеличивается (допустим, если пользователь дописывает к концу файла новые данные), то для дополнительных данных NTFS выделяет еще один отрезок Атрибуты, значения которых хранятся не в MFT, а в отрезках, называются нерезидентными атрибутами (nonresident attributes). ФС определяет, является ли данный атрибут резидентным или нерезидентным; способ размещения данных прозрачен для программы, осуществляющей доступ к ним.

4 Кбайт, если размер кластера равен 4 Кбайт.


Рис. 3-в. Файловая запись MFT для большого файла с двумя отрезками данных.

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

Только те из стандартных атрибутов, размер которых может возрастать, бывают нерезидентными. Для файла такие атрибуты — это дескриптор защиты, данные, список атрибутов (не показан на рис. 3-8) и расширенные атрибуты HPFS. Атрибуты стандартной информации и имени файла всегда резидентные.

Большой каталог также может иметь нерезидентные атрибуты (или части атрибутов), как показано на рис. 3-9. В этом примере в файловой записи MFT недостаточно места для хранения индекса файлов, составляющих этот большой каталог. Часть индекса хранится в атрибуте корня индекса, а его остаток находится в нерезидентных отрезках, называемых индексными буферами (index buffers). Атрибуты корня индекса, размещения индекса и битовой карты показаны здесь упрощенно (более подробно они описаны ниже). Атрибуты стандартной информации и имени файла всегда резидентные. Заголовок и, по крайней мере, часть значения атрибута корня индекса для каталогов также резидентные.

Рис. 3-9.Файловая запись MFT для большого каталога с нерезидентным индексом имен файлов.

В том случае, когда атрибуты файла (или каталога) не умещаются в MFT и требуется выделение дополнительного пространства, NTFS отслеживает эти отрезки при помощи виртуальных номеров кластеров (virtual clusters numbers, VCN). Логические номера кластеров (LCN), описанные в разделе 3.1, представляют последовательность кластеров всего тома от 0 до п-, VCN же нумеруют от 0 до т кластеры, принадлежащие данному файлу. Например, кластеры в отрезках для нерезидентного атрибута данных нумеруются, как показано на рис. 3-Ю.


Рис. 3-10. Виртуальные номера кластеров (VCN) для нерезидентного атрибута данных.

Если бы этот файл занимал более двух отрезков, то нумерация третьего отрезка начиналась бы с VCN 8. Как показано на рис. 3-11, заголовок атрибута данных содержит отображение VCN в LCN для обоих отрезков, что позволяет NTFS легко находить данные на диске.


Рис. 3-11. Отображение VCN-LCN для нерезидентного атрибута данных.

На рис. 3-11 показаны отрезки данных, но и другие атрибуты тоже могут храниться в отрезках, если для их размещения в MFT недостаточно места. Если у некоторого файла так много атрибутов, что они не умещаются в запись MFT, то для хранения дополнительных атрибутов (или их заголовков, в случае нерезидентных атрибутов) используется вторая запись MFT. В этом случае к файлу добавляется атрибут, называемый списком атрибутов, который мы видели в табл. 3-1. Список атрибутов содержит имя и код типа для каждого из атрибутов файла, а также файловую ссылку на запись MFT, в которой находится данный атрибут. Атрибут-список атрибутов предназначен для тех случаев, когда файл становится таких большим или так сильно фрагментированным, что одной записи MFT уже недостаточно для хранения множества отображений VCN-LCN, необходимых для поиска всех отрезков файла. NTFS столь редко бывает необходим этот атрибут, что пришлось написать специальные программы, предназначенные исключительно для тестирования ее кода, работающего со списками атрибутов.



Дата добавления: 2015-07-10; просмотров: 113 | Нарушение авторских прав


Читайте в этой же книге: Восстанавливаемость | Диски и файлы большого объема | Множественные потоки данных | Многоуровневая модель драйвера | Модели реляционной базы данных и обработки транзакций | Объектная модель | Файлы метаданных NTFS и загрузочный файл |
<== предыдущая страница | следующая страница ==>
Понятия и термины NTFS| Индексация имен файлов

mybiblioteka.su - 2015-2024 год. (0.008 сек.)