Студопедия — Файловая система 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; просмотров: 1050. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Схема рефлекторной дуги условного слюноотделительного рефлекса При неоднократном сочетании действия предупреждающего сигнала и безусловного пищевого раздражителя формируются...

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

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

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