Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга high-end по ОС-new.doc
Скачиваний:
99
Добавлен:
13.05.2015
Размер:
2.13 Mб
Скачать

5.7. Физическая организация файловой системы ntfs

Файловая система NTFS была разработана в качестве основной файловой системы для ОС Windows NT в начале 1990-х годов с учетом опыта разработки файловых систем FAT и HPFS (основная файловая система для OS/2), а также других существовавших в то время файловых систем.

Основными отличительными свойствами NTFS являются:

поддержка больших файлов и больших дисков объемом до 264 байт;

восстанавливаемость после сбоев и отказов программ и аппаратуры управления дисками за счет ведения журнала (журналирование);

высокая скорость операций, в том числе для больших дисков;

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

гибкая структура, допускающая развитие за счет добавления новых типов записей и атрибутов файлов с сохранением совместимости с предыдущими версиями файловых систем;

устойчивость к отказам дисковых накопителей;

поддержка длинных символьных имен;

контроль доступа к каталогам и отдельным файлам.

5.7.1. Структура тома ntfs

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

Все файлы на томе NTFS идентифицируются номером файла, который определяется позицией файла в MFT. Этот способ идентификации файла близок к способу, используемому в файловых системах s5 и ufs, где файл однозначно идентифицируется номером его записи в области индексных дескрипторов.

Загрузочный блок

0

1

2

:

:

15

Системный файл 1

Системный файл 2

:

:

Системный файл n

Копия MFT (первые три записи)

Файл n-1

Копия загрузочного блока

MFT

Файл m

MFT


1-й отрезок MFT

2-й отрезок MFT

3-й отрезок MFT

Рис. 5.11. Структура тома NTFS

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

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

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

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

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

Структура записей главной таблицы файлов (MFT)

Таблица 5.1

файла

Имя

Описание

0

$MFT

Сам MFT

1

$MFTmirr

Зеркальная копия первых трех записей MFT

2

$LogFile

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

3

$Volume

Имя тома, версия NTFS и другая информация о томе

4

$AttrDef

Таблица имен, номеров и описаний атрибутов

5

$.

Индекс корневого каталога

6

$Bitmap

Битовая карта кластеров

7

$Boot

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

8

$BadClus

Файл плохих кластеров

9

$Quota

Таблица квот

10

$Upcase

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

11-15

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

Не используется