Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 9-10-Windows.doc
Скачиваний:
7
Добавлен:
23.12.2018
Размер:
125.44 Кб
Скачать

Лекция: Системные механизмы Windows

1. Система файлов Windows

Базовая система файлов ОС Windows 2000, как и ОС Windows NT, - NTFS (NT File System). В данном разделе рассмотрим ее подробно.

Фундаментальная структура системы файлов Windows 2000 (NTFS) – том (volume). Том создается утилитой администрирования диска. Структура тома основана на логическом диске (partition). Том может занимать часть диска, целый диск или распределяться по нескольким дискам (рис.1). Все метаданные, такие как информация о томе, хранятся в обычном файле.

Рис.1.  Том NTFS, размещаемый на двух дисках.

NTFS использует кластеры как базовую единицу выделения дисковой памяти. Кластер – число секторов диска, размер которого от 512 байт до 64 Кбайт, неким стандартом же считается кластер размером 4 Кбайт. Поскольку размер кластера меньше, чем в FAT16, внутренняя фрагментация уменьшается.

NTFS использует логические номера кластеров - logical cluster numbers (LCN) в качестве дисковых адресов. Файл в NTFS – не просто байтовый поток, как в MS-DOS или в UNIX, но структурированный объект, состоящий из атрибутов. Каждый файл в NTFS описывается одной или несколькими записями в массиве, хранящемся в специальном файле, называемом Master File Table (MFT).

Главная файловая таблица

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

NTFS резервирует первые 16 записей таблицы для специальной информации. Первая запись этой таблицы описывает непосредственно главную файловую таблицу;

за ней следует зеркальная запись (mirror record) MFT. Если первая запись MFT разрушена, то NTFS читает вторую запись для отыскания зеркального файла MFT, первая запись которого идентична первой записи MFT. Местоположения сегментов данных MFT и зеркального файла MFT записаны в секторе начальной загрузки. Дубликат сектора начальной загрузки находится в логическом центре диска.

Третья запись MFT — файл регистрации (log file); используется для восстановления файлов.

Семнадцатая и последующие записи главной файловой таблицы используются собственно файлами и каталогами (также рассматриваются как файлы NTFS) на томе. На рис. 2 показана упрощенная структура MFT.

Рис. 2. Организация главной файловой таблицы

Главная файловая таблица отводит определенное количество пространства для каждой записи файла. Атрибуты файла записываются в распределенное пространство MFT.

Файлы NTFS состоят по крайней мере из следующих атрибутов:

  • заголовок (H - header)

  • стандартная информация (SI - standard information)

  • имя файла ( FN - file name)

  • данные (data)

  • дескриптор безопасности (SD - security descriptor)

Небольшие файлы (small менее 1500 байт). Если файл имеет небольшой размер, то он может целиком располагаться внутри одной записи MFT.

Большие файлы (Large). Если файл не вмещается в одну запись MFT, то этот факт отображается в значении атрибута "данные", который содержит признак того, что файл является нерезидентным, то есть, что файл находится вне таблицы MFT. В этом случае атрибут "данные" содержит виртуальный номер кластера для первого кластера каждого фрагмента данных (data run), а также количество непрерывных кластеров в каждом фрагменте

Рис. 3 Большие файлы

Очень большие файлы (huge). Если файл настолько велик, что его атрибут данных не помещается в одной записи, то этот атрибут становится нерезидентным, то есть он находится в другой записи таблицы MFT, ссылка на которую помещена в исходной записи о файле. Эта ссылка называется внешним атрибутом (external attribute). Нерезидентный атрибут содержит указатели на фрагменты данных.

Рис. 1.7. Очень большие файлы

Каждый каталог NTFS представляет собой один вход в таблицу MFT, который содержит список файлов специальной формы, называемый индексом (index). Индексы позволяют сортировать файлы для ускорения поиска, основанного на значении определенного атрибута. Обычно в файловых системах FAT и HPFS используется сортировка файлов по имени. NTFS позволяет использовать для сортировки любой атрибут, если он хранится в резидентной форме.

Имеется две формы списка файлов.

Небольшие списки файлов (small indexes). Если количество файлов в каталоге невелико, то список файлов может быть резидентным в записи в MFT, являющейся каталогом (рисунок 1.9). В этом случае он называется небольшим каталогом. Небольшой список файлов содержит значения атрибутов файла. По умолчанию это имя файла, а также номер записи MTF, содержащей начальную запись файла.

Рис. 1.9. Небольшие каталоги

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

Рис. 1.10. Большие каталоги