Студопедия — Файловая система NTFS.
Студопедия Главная Случайная страница Обратная связь

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

Файловая система NTFS.

 

Файловая система NTFS.

 

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

Как и файловой системе FAT файлы в NTFS записываются в виде последовательности кластеров. Кластеры в файловой системе NTFS могут принимать размеры от 512 байт до 64 Кб. Стандартным значением длины кластера является размер 4 Кб. Главной структурой NTFS является файл MFT (Master File Table – главная файловая таблица). Надо сказать, что в NTFS нет вообще ничего, кроме файлов – это общая концепция. Имя файла ограничивается 255 символами, а максимальная длина пути не может превышать 32767 символов.

Рассмотрим Рис. 1, где изображена общая схема размещения файловой системы NTFS на томе.

Рис. 1. Общая структура тома с NTFS.

Для главного файла операционной системы NTFS MFT отводится область в начале раздела (в загрузочной записи раздела при установке помещается номер первого кластера файла MFT), но поскольку это тоже файл, в принципе он может располагаться где угодно. Для того чтобы не фрагментировать этот файл (хотя он может быть и фрагментирован), для него заранее отводится объем дискового пространства, составляющий 12% от общего объема раздела. При необходимости операционная система может увеличить или уменьшить эту область, а потом вернуть ее в исходное состояние. По своему смыслу она не является системной областью, поэтому включается в общий объем свободного пространства.

Файл MFT содержит записи о каждом файле системы. Размер записи файла составляет 1 Кб. Если при описании файла одной записи не хватает, то используются другие записи. Первые 16 файлов, записи о которых располагаются в начале MFT, являются системными. Принято, что имена этих файлов начинаются с символа ‘$’. Ниже в таблице 1 мы представляем информацию об этих файлах. Обратите внимание, в первой (с номером 0) записи файла MFT располагается информация о нем самом. Согласитесь, что красивое решение, создающее определенный избыток информации, позволяющий в определенной ситуации восстановить файловую систему.

 

Таблица 1. Список метафайлов файловой системы NTFS.

Номер записи в MFT Имя системного файла Комментарий
  $MFT Главная файловая таблица
  $MFTMIRR Копия первых 16-ти записей главной файловой таблицы. В обычной ситуации этот файл помещается ровно в середине раздела.
  $LOGFILE Журнал для восстановления системы. Здесь учитываются предстоящие операции. По этому журналу операционная система с большой вероятностью сможет восстановить файловую структуру раздела.
  $VOLUME Файл тома (метка тома, версия файловой системы, размер и т.п.).
  $ATTRDEF Файл содержит список стандартных атрибутов тома.
  $. Корневой каталог. Как и обычный файл, он может увеличиваться или уменьшаться в размерах. Заметим, что все системные файлы располагаются именно в этом каталоге.
  $BITMAP В файле содержится битовый массив учета свободного места на томе.
  $BOOT Файл начальной загрузки.
  $BADCLUS Файл, содержащий дефектные блоки.
  $SECURE Информация о защите
  $UPCASE Таблица соответствий заглавных и прописных букв на томе.
  $QUOTA Каталог, где содержаться файлы, используемые для дисковых квот.
12-15   Резервные записи.
Обратимся теперь к записи файла MFT. Каждая запись состоит из заголовка, за которым следует заголовок атрибута и его значение. Каждый заголовок содержит: контрольную сумму, порядковый номер файла, увеличивающийся, когда запись используется для другого файла, счетчик обращений к файлу, количество байт действительно используемых в записи и другие поля. За заголовком записи располагается заголовок первого атрибута, а далее значение этого атрибута. Затем идет заголовок второго атрибута и т.д. Если атрибут достаточно велик, то он помещается в отдельном файле (нерезидентный атрибут). Интересно, что если данных в файле не много, то они наоборот хранятся в записи файла MFT.

В таблице 2 перечислены атрибуты.

Таблица 2.. Атрибуты записей MFT.

Атрибут Описание
Стандартная информация (информационный атрибут) Сведения о владельце, информация о защите, счетчик жестких связей, битовые атрибуты (только для чтения, архивный и т.д.).
Имя файла Имя файла в кодировке Unicode.
Описатель защиты Теперь этот атрибут устарел. Теперь используется атрибут $EXTENDEDSECURE.
Список атрибутов Расположение дополнительных записей MFT. Используется, если атрибуты не помещаются в записи.
Идентификатор объекта 64-разрядный идентификатор файла, уникальный для данного тома.
Точка повторной обработки Используется для создания иерархических хранилищ. Наличие этого атрибута предлагает процедуре, анализирующей имя файла выполнить дополнительные действия.
Название тома Используется в $VOLUME.  
Информация о томе Версия тома (используется в $VOLUME).
Корневой индекс Используется для каталогов.
Размещение индекса Для очень больших каталогов, которые реализуются не в виде обычных списков, а в виде бинарных деревьев (B-дерев).
Битовый массив Используется для очень больших каталогов.
Поток данных утилиты регистрации Управляет регистрацией в файле $LOGFILE.
Данные Поток данных файла. Следом за заголовком этого атрибута следует список кластеров, где располагаются данные, либо сами данные, если их объем не превышает несколько сот байтов.
 

И так, файл в NTFS есть ни что иное, как набор атрибутов. Атрибут представляется в виде потока байт. Как видим, один из атрибутов это данные, хранящиеся в файле или, как говорят поток данных. Файловая система допускает добавление файлу новых атрибутов, которые могут содержать какие-то дополнительные данные.

В файловой системе NTFS применено множеств интересных технологических решений. Об одной технологии я уже упомянул: не большой файл целиком помещается в записи файла MFT. Еще один подход предполагает, что операционная система при записи файла старается осуществить операцию таким образом, чтобы было как можно больше цепочек кластеров (участков, где кластеры на диске следуют друг за другом). Группы кластеров файла описываются специальными структурами - записями, помещаемыми внутри записи MFT. Так файл, состоящий всего из одной цепочки кластеров, описывается всего одной такой записью. То же можно сказать о файле, состоящем из не большого числа цепочек. В записи цепочки кластеров описываются парой из двух значений: смещение кластера от начала и количество кластеров. В заголовке записи указывается смещение первого кластера от начала файла и смещение первого кластера, выходящего за рамки, описываемые данной записью.

 

 

Рис. 2. Пример записи информации о расположении файла, состоящего всего из девяти кластеров.

 

На Рис. 2 мы схематично изобразили запись MFT для файла, состоящего всего из 9 кластеров. После заголовка записи, в которой указываются смещения первого кластера в файле и кластера, не охватываемого данной записью, идут две пары чисел, в которых указываются последовательности непрерывно идущих кластеров. Первым элементом пары является смещение кластера от начала дискового пространства и количество кластеров в цепочке. Такие пары называют еще сериями. Как видим, в нашем случае файл состоит из двух непрерывных цепочек и задается двумя сериями. Заметим в этой связи, что числовые значения, определяющие количество кластеров и смещение кластера являются в операционной системе NTFS 64-битными.

Что будет, если файл фрагментирован так, что все его цепочки нельзя описать в одной записи файла MFT? В этом случае используются несколько записей MFT. Причем они не обязаны иметь номера отличающиеся друг от друга на 1. Чтобы связать их друг с другом используется так называемая базовая запись. В первой записи MFT, описывающей данный файл, она (базовая запись) идет перед записью с описанием кластерных цепочек. Она также имеет заголовок, после которого перечислены номера записей MFT, в которых содержится информация о размещении данных файла на диске. Все остальные записи MFT имеют ту же структуру, которая изображена на Рис. 2. Может возникнуть вопрос: а что если базовая запись не сможет поместиться в одой записи MFT? В этом случае ее помещают в отдельный файл, т.е. в терминологии NTFS делают не резидентной.

Рассмотрим еще некоторые особенности файловой системы NTFS.

Каталоги в NTFS. Каталог в системе NTFS представляет собой специфический файл, хранящий ссылки на другие файлы и каталоги, создавая иерархическое строения файловой системы диска. Как и в случае с обычным файлом, если каталог не слишком велик, то он помещается в записи MFT. На Рис. 3 схематически показана запись MFT содержащая не большой каталог. Обратим внимание, что в информационном атрибуте содержится информация о корневом каталоге. Сами записи каталога содержат длину имени файла, некоторые другие его параметры, а самое главное содержат номер (индекс) записи MFT для данного файла, в которой содержится уже полная информация о файле. Для больших каталогов используется совсем другой формат хранения. Они строятся в виде бинарных деревьев, что обеспечивает быстрый поиск в алфавитном порядке и ускоряет добавление нового файла.

 

 

Рис. 3. Не большой каталог полностью помещается в записи MFT.

 

Сжатие файлов в NTFS. Система NTFS позволяет хранить файлы в сжатом виде. Механизм также весьма интересен и о нем следует сказать несколько слов. Сжатие осуществляется блоками, состоящими из 16 кластеров. При записи операционная система пытается сжать в начале первые 16 кластеров, затем следующие и т.д. Если сжать не удалось, то блок записывается как есть. Предположим, что сжимается блок из 16 кластеров. Пусть смещение первого кластера будет 50. Предположим, что сжать удалось на 25%, т.е. из 16 кластеров фактически осталось только 12. Для простоты предположим, что кластеры располагаются друг за другом, т.е. представляют цепочку. Сжатая цепочка кластеров в записи MFT будет представлена не одной парой чисел (50,16), а двумя парами (50,12) и (0,4). Вторая пара необходима, чтобы при чтении файла операционная система могла опознать, какая из цепочек была сжата. Механизм хранения сжатых файлов, как видите, весьма прост и встроен в саму файловую систему.

Стандартным способом получения типа файловой системы в данном разделе является использование функции GetVolumeInformation. Мы не будем рассматривать эту функцию, заметим только, что седьмым парметром (из восьми) как раз и является буфер, куда после вызова функции и будет помещен тип файловой системы.

Точки повторной обработки. Точка повторной обработки позволяют наращивать функциональность NTFS. Точки повторной обработки появились в версии файловой системе NTFS, предназначенной для операционной системы Windows 2000. Было предусмотрено несколько типов таких точек, в том числе: точки монтирования томов, подсоединения каталогов NTFS, управление иерархическими хранилищами данных (HSM - Hierarchical Storage Management).

· Точки монтирования томов позволяют привязать том к каталогу не присваивая символьного обозначения этому тому. Можно таким образом под одной буквой объединить несколько томов. Например, если точка монтирования C:\TEMP и к ней подсоединен том D:, то все каталоги этого тома будут доступны через точку монтирования: C:\TEMP\ARH, C:\TEMP\PROGRAM и т.п. При попытке обращения, например к файлу C:\TEMP\PROGRAM\FC.EXE система обнаруживает точку монтирования для каталога TEMP связанную с томом D: и далее обращается уже к этому тому к каталогу PROGRAM.

· Точки подсоединения каталогов очень похожи на точки повторного монтирования. Однако с помощью этого механизма подсоединяются не тома, а каталоги. В предыдущем примере можно подсоединить к каталогу TEMP каталог PROGRAM и аналогичным образом обратиться к файлу FC.EXE: C:\TEMP\PROGRAM\FC.EXE.

· В системе HSM точки повторной обработки служат для миграции редко используемых файлов в резервное хранилище данных. При этом содержимое файла удаляется, а на его место помещается точка повторной обработки. В данных точки повторной обработки содержится информация, используемая системой HSM для поиска файла на архивном устройстве. При обращении к файлу система по точке повторной обработки определяет, что файл находиться в хранилище (и в каком). Запускается механизм перенесения файла из хранилища. После перемещения точка повторной обработки удаляется, а запрос к файлу автоматически повторяется.

Если точка повторной обработки связана с файлом или каталогом, то NTFS создает для нее атрибут с именем $Reparse. В этом атрибуте хранятся код и данные точки повторной обработки. Поэтому NTFS без труда обнаруживает все точки повторной обработки на томе.

 




<== предыдущая лекция | следующая лекция ==>
Файловая система NTFS | Общие сведения о файловых системах

Дата добавления: 2015-10-12; просмотров: 1054. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Опухоли яичников в детском и подростковом возрасте Опухоли яичников занимают первое место в структуре опухолей половой системы у девочек и встречаются в возрасте 10 – 16 лет и в период полового созревания...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

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

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Studopedia.info - Студопедия - 2014-2024 год . (0.014 сек.) русская версия | украинская версия