Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Файловая система новой технологии NTFS



 

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

Файловая система NTFS разработана в качестве основной файловой системы для операционных систем семейства Windows NT. Основные отличительные особенности этой файловой системы:

- высокая производительность;

- низкий уровень фрагментации, в том числе и для больших дисков;

- восстанавливаемость после сбоев и отказов;

- поддержка больших файлов и больших дисков;

- поддержка защиты файлов и каталогов от несанкционированного доступа.

Структура тома NTFS

Одним из основных понятий, используемых при работе с NTFS является понятие тома. Под томом понимают логическое дисковое пространство, которое может быть воспринято, как логический диск, то есть может иметь буквенный идентификатор. Файловая система NTFS делит все полезное дисковое пространство тома на кластеры. Основой структуры тома NTFS является главная таблица файлов (Master File Table, MFT), которая содержит, по крайней мере, одну запись для каждого файла тома, включая одну запись для самой себя. Каждая запись MFT имеет фиксированную длину, зависящую от объема диска — 1, 2 или 4 Кбайт. Для большинства дисков размер записи MFT равен 2 Кбайт.

Файлы на томе NTFS идентифицируются номером файла, который определяется позицией файла в MFT. Этот способ идентификации файла близок к способу, используемому в файловых системах Unix-подобных операционных системах, где файл однозначно идентифицируется номером его записи в области индексных дескрипторов. Весь том NTFS состоит из последовательности кластеров, что отличает эту файловую систему от рассмотренных ранее, где на кластеры делилась только область данных. Порядковый номер кластера в томе NTFS называется логическим номером кластера (Logical Cluster Number, LCN). Файл также состоит из последовательности кластеров, при этом порядковый номер кластера внутри файла называется виртуальным номером кластера (Virtual Cluster Number, VCN).

Базовая единица распределения дискового пространства для файловой системы NTFS называется отрезком. Отрезок - это непрерывная область кластеров. В качестве адреса отрезка NTFS использует логический номер его первого кластера, а также количество кластеров в отрезке k, то есть пара (LCN, к). Часть файла, помещенная в отрезок и начинающаяся с виртуального кластера VCN, характеризуется адресом, состоящим из трех чисел: (VCN, LCN, к).

Для хранения номера кластера в файловой системе NTFS используются 64-разрядные указатели, что дает возможность поддерживать тома и файлы размером до 264 кластеров. При размере кластера в 4 Кбайт это позволяет использовать тома и файлы, состоящие из 64 миллиардов килобайт.

Рассмотрим структуру тома NTFS. Загрузочный блок тома NTFS располагается в начале тома, а его копия — в середине тома. Загрузочный блок содержит стандартный блок параметров BIOS (характеристики логического диска, необходимые для работы драйвера), количество блоков в томе, а также начальный логический номер кластера основной копии MFT и зеркальную копию MFT.

Далее расположен первый отрезок MFT, содержащий 16 стандартных создаваемых при форматировании записей о системных файлах NTFS. Назначение этих записей следующее:

1. Главная таблица файлов - содержит полный список файлов тома NTFS

2. Копия главной таблицы файлов - зеркальная копия первых трех записей MFT

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

4.Том - имя тома, версия NTFS и другая информация о томе

5.Таблица определения атрибутов - таблица имен, номеров и описаний атрибутов

6. Индекс корневого каталога – корневой каталог

7. Битовая карта кластеров - разметка использованных кластеров тома

8. Загрузочный сектор раздела - адрес загрузочного сектора раздела

9. Файл плохих кластеров - файл со списком всех обнаруженных на томе плохих кластеров

10. Таблица квот - квоты пространства на диске для каждого пользователя

11. Таблица преобразования регистра символов - используется для преобразования регистра символов в кодировке Unicode

Остальные записи зарезервированы для будущего использования.

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

Структура файлов NTFS

Каждый файл и каталог на томе NTFS состоит из набора атрибутов.

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

Существует системный набор атрибутов, определяемых структурой тома NTFS. Системные атрибуты имеют фиксированные имена и коды их типа, а также определенный формат. Поддерживаются атрибуты, определяемые пользователями. Их имена, типы и форматы задаются исключительно пользователем. Существует два способа хранения атрибутов файла — резидентное хранение в записях таблицы MFT и нерезидентное хранение вне записи, во внешних отрезках. Таким образом, резидентная часть файла состоит из резидентных атрибутов, а нерезидентная — из нерезидентных атрибутов.

В системный набор входят следующие атрибуты:

- список атрибутов (Attribute List), из которых состоит файл, содержит ссылки на номер записи MFT, где расположен каждый атрибут (этот атрибут нужен только в том случае, если атрибуты файла не умещаются в основной записи и занимают дополнительные записи MFT);

- имя файла (File Name) — длинное имя файла в формате Unicode, а также номер входа в таблице MFT для родительского каталога; если этот файл содержится в нескольких каталогах, то у него будет несколько атрибутов типа File Name; этот атрибут всегда должен быть резидентным;

-имя MS-DOS (MS-DOS Name) — содержит имя файла в соответствующем формате;

-версия (Version) — номер последней версии файла;

-дескриптор безопасности (Security Descriptor) — структура, поддерживающая защиту файла от несанкционированного доступа;

- версия тома (Volume Version) используется только в системных файлах тома;

- имя тома (Volume Name);

- данные (Data) — обычные данные файла;

- битовая карта MFT (MFT bitmap) — карта использования блоков на томе;

- корень индекса (Index Root) — корень В-дерева, используемого для поиска файлов в каталоге;

- размещение индекса (Index Allocation) — нерезидентные части индексного списка В-дерева;

- стандартная информация (Standard Information) — этот атрибут хранит всю остальную стандартную информацию о файле, которую трудно связать, с другими атрибутами файла, например время создания файла, время обновления и другие.

 Если файл имеет небольшой размер, то он может целиком располагаться внутри одной записи MFT, имеющей, например, размер 2 Кбайт. Небольшие файлы NTFS состоят, по крайней мере, из следующих атрибутов: стандартная информация; имя файла; данные; дескриптор безопасности.

Если файл настолько велик, что его атрибут данных, хранящий адреса нерезидентных отрезков данных, не помещается в одной записи, то этот атрибут помещается в другую запись MFT, а ссылка на такой атрибут помещается в основную запись файла. Эта ссылка содержится в списке атрибуте Attribute List. Сам атрибут данных по-прежнему содержит адреса нерезидентных отрезков данных.

Каталоги NTFS

Каждый каталог NTFS представляет собой один вход в таблицу MFT, который содержит атрибут Index Root. Индекс содержит список файлов, входящих в каталог.

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

Каждый каталог содержит атрибут Index Root. Индекс содержит список файлов, входящих в каталог. Если количество файлов в каталоге невелико, то список файлов может быть резидентным в записи MFT, являющейся каталогом. Для резидентного хранения списка используется единственный атрибут — Index Root. Список файлов содержит значения атрибутов файла. По умолчанию — это имя файла, а также номер записи MTF, содержащей начальную запись файла.

По мере роста каталога список файлов может потребовать нерезидентной формы хранения, но начальная часть списка всегда остается резидентной в корневой записи каталога таблицы MFT. Имена файлов резидентной части списка файлов являются узлами, так называемого В-дерева (двоичного дерева). Остальные части списка файлов размещаются вне MFT. Для их поиска используется специальный атрибут Index Allocation, представляющий собой адреса отрезков, хранящих остальные части списка файлов каталога. Одни части списков являются листьями дерева, другие — промежуточными узлами, то есть содержат наряду с именами файлов атрибут Index Allocation, указывающий на списки файлов более низких уровней.

 

Особенности файловых систем, поддерживаемых классической операционной системой Unix.

 Каждый файл определяется индексным дескриптором (i-узел), который содержит всю необходимую информацию о данном файле. Сюда записывается тип файла, его длина, идентификаторы владельца и группы, дата последней модификации. Наиболее важная часть i-узла – список адресов на диске. Это 13 номеров блоков на диске, хранящихся в индексном дескрипторе. Первые 10 номеров задают первые десять блоков файла. Если длина файла превышает 10 блоков, то первые 10 элементов ссылаются на блоки файла, а 11-й номер ссылается на блок, где размещается список следующих 256 записей. Этот блок называют косвенным. Если же файл не умещается даже в 256 блоков, 12-й блок содержит адрес блока, включающего адреса 256 номеров блоков, каждый из которых в свою очередь содержит 256 номеров блоков, которые используются для нахождения содержания файла. 13 –й блок используется подобным же способом только уже на следующем уровне.


Поделиться:



Последнее изменение этой страницы: 2019-03-22; Просмотров: 294; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.019 с.)
Главная | Случайная страница | Обратная связь