Файловые системы NTFS и FAT. Плюсы и минусы

Автор работы: Пользователь скрыл имя, 13 Декабря 2012 в 17:13, курсовая работа

Краткое описание

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

Содержание работы

Введение
Файловая система FAT
Ошибки файловой системы FAT
Файловая система FAT 32
Структура файла
Файловая система NTFS
Физическая организация NTFS
Структура тома NTFS
Главная таблица файлов
Структура файлов NTFS
Каталоги NTFS
Защита и шифрование
Механизм EFS
Заключение
Список используемой литературы

Содержимое работы - 1 файл

Курсовая_ОС 30588888.docx

— 512.60 Кб (Скачать файл)

В процессе работы системы NTFS ведет запись в файл метаданных –  файл журнала с именем $LogFile. NTFS использует его для регистрации всех операций, влияющих на структуру тома NTFS, в  том числе для регистрации  создания файлов и выполнения любых  команд, модифицирующих структуру каталогов. Файл журнала используется и при  восстановлении тома NTFS после аварии системы.

Еще один элемент MFT зарезервирован для корневого каталога, обозначаемого  как «\». Его запись содержит индекс файлов и каталогов, хранящихся в  корне структуры каталогов NTFS. Когда NTFS впервые получает запрос на открытие файла, она начинает его поиск  с записи корневого каталога. Открыв файл, NTFS сохраняет файловую ссылку MFT для этого файла и поэтому  в следующий раз, когда понадобится  считать или записать тот же файл, сможет напрямую обратиться к его записи в MFT.

NTFS регистрирует распределение  дискового пространства в файле  битовой карты с именем $Bitmap. Атрибут  данных для файла битовой карты  содержит битовую карту, каждый  бит которой представляет кластер  тома и сообщает, свободен кластер  или выделен.

 

Таблица 1 – таблица MFT

 

Номер

записи

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

Имя файла

Назначение  файла

0

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

$Mft

Содержит полный список файлов тома NTFS

1

Копия главной таблицы  файлов

$MftMirr

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

2

Файл журнала

SLogFile

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

3

Том

SVoiume

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

4

Таблица определения атрибутов

SAttrDef

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

5

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

$.

Корневой каталог

6

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

SBitmap

Разметка использованных кластеров тома

7

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

Адрес загрузочного сектора  раздела

8

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

SBadClus

Файл, содержащий список всех обнаруженных на томе плохих кластеров

9

Таблица квот

$Quota

Квоты используемого пространства на диске для каждого пользователя

10

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

SUpcase

Используется для преобразования регистра символов для кодировки  Unicode

11-15

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

   

 

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

Некоторые системные файлы  являются полностью резидентными, а  некоторые имеют и нерезидентные  части, которые располагаются после  первого отрезка MFT.

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

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

 

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

 

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

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

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

Системный набор включает следующие атрибуты:

  • AttributeList(список атрибутов) — список атрибутов, из которых состоит файл; содержит ссылки на номер записи MFT, где расположен каждый атрибут; этот редко используемый атрибут нужен только в том случае, если атрибуты файла не умещаются в основной записи и занимают дополнительные записи MFT;
  • FileName(имя файла) — этот атрибут содержит длинное имя файла в формате Unicode, а также номер входа в таблице MFTдля родительского каталога; если этот файл содержится в нескольких каталогах, то у него будет несколько атрибутов типа FileName; этот атрибут всегда должен быть резидентным;
  • MS-DOSName(имя MS-DOS)— этот атрибут содержит имя файла в формате 8.3;

Version(версия) — атрибут содержит номер последней версии файла

  • SecurityDescriptor(дескриптор безопасности) — этот атрибут содержит информацию о защите файла: список прав доступа ACL(права доступа к файлу рассматриваются ниже в разделе «Контроль доступа к файлам») и поле аудита, которое определяет, какого рода операции над этим файлом нужно регистрировать;
  • VolumeVersion(версия тома) — версия тома, используется только в системных файлах тома;
  • Volume Name (имя тома) — имя тома;
  • Data(данные) — содержит обычные данные файла;
  • MFTbitmap(битовая карта MFT) — этот атрибут содержит карту использования блоков на томе;
  • IndexRoot(корень индекса) — корень В-дерева, используемого для поиска файлов в каталоге;
  • IndexAllocation(размещение индекса) — нерезидентные части индексного списка В-дерева;
  • StandardInformation(стандартная информация) — этот атрибут хранит всю остальную стандартную информацию о файле, которую трудно связать с каким-либо из других атрибутов файла, например, время создания файла, время обновления и другие.

Файлы NTFSв зависимости от способа размещения делятся на небольшие, большие, очень большие и сверхбольшие.

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

  • стандартнаяинформация(SI — standard information);
  • имяфайла(FN — file name);
  • данные (Data);
  • дескриптор безопасности (SD — security descriptor).

Из-за того что файл может  иметь переменное количество атрибутов, а также из- за переменного размера  атрибутов нельзя наверняка утверждать, что файл уместится внутри записи. Однако обычно файлы размером менее 1500 байт помещаются внутри записи MFT(размером 2 Кбайт).

 

Рисунок 3 -  Небольшой  файл NTFS

 

Большие файлы (large).Если данные файла не помещаются в одну запись MFT, то этот факт отражается в заголовке атрибута Data,который содержит признак того, что этот атрибут является нерезидентным, то есть находится в отрезках вне таблицы MFT. В этом случае атрибут Dataсодержит адресную информацию (LCN, VCN, к) каждого отрезка данных (рисунок 4).

 

Рисунок 4 - Большой файлNTFS

 

 

Рисунок 5 –Очень большой файл NTFS

Сверхбольшиефайлы(extremelyhuge).Для сверхбольших файлов в атрибуте AttributeListможно указать несколько атрибутов, расположенных в дополнительных записях MFT(рисунок 6). Кроме того, можно использовать двойную косвенную адресацию, когда нерезидентный атрибут будет ссылаться на другие

нерезидентные атрибуты, поэтому  в NTFSне может быть атрибутов слишком большой для системы длины.

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

 

Рисунок 6 -Сверхбольшой файлNTFS

 

2.5 Каталоги NTFS

 

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

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

Небольшие каталоги(smallindexes). Если количество файлов в каталоге невелико, то список файлов может быть резидентным в записи в MFTrявляющейся каталогом (рисунок 7). Для резидентного хранения списка используется единственный атрибут — IndexRoot.Список файлов содержит значения атрибутов файла. По умолчанию — это имя файла, а также номер записи MTF, содержащей начальную запись файла.

 

Рисунок 7 - Небольшой каталог

 

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

Узлы двоичного дерева делят весь список файлов на несколько  групп. Имя каждого файла-узла является именем последнего файла в соответствующей группе. Считается, что имена файлов сравниваются лексикографически, то есть сначала принимаются во внимание коды первых символов двух сравниваемых имен, при этом имя считается меньшим, если код его первого символа имеет меньшее арифметическое значение, при равенстве кодов первых символов сравниваются коды вторых символов имен и т. д. Например, файл f1.exe, являющийся первым узлом двоичного дерева, показанного на рисунке 8, имеет имя, лексикографически большее имен avia.exe, az.exe emax.exe, образующих первую группу спис

ка имен каталога. Соответственно файл ltr.exeимеет наибольшее имя среди всех имен второй группы, а все файлы с именами, большими ltr.exe, образуют третью и последнюю группу.

Поиск в каталоге уникального  имени файла, которым в NTFSявляется номер основной записи о файле в MFT, по его символьному имени происходит следующим образом. Сначала искомое символьное имя сравнивается с именем первого узла в резидентной части индекса. Если искомое имя меньше, то это означает, что его нужно искать в первой нерезидентной группе, для чего из атрибута IndexAllocationизвлекается адрес отрезка (VCNbLCN,, К,), хранящего имена файлов первой группы. Среди имен этой группы поиск осуществляется прямымперебо-

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

 

 

Рисунок 8 – Большой каталог

 

Если же искомое имя  больше имени первого узла резидентной  части индекса, то его сравнивают с именем второго узла, и если искомое имя меньше, то описанная  процедура применяется ко второй нерезидентной группе имен, и т. д.

В результате вместо перебора большого количества имен (в худшем случае — всех имен каталога) выполняется  сравнение с гораздо меньшим  количеством имен узлов и имен в одной из групп каталога.

Если одна из групп каталога становится слишком большой, то ее также  делят на группы, последние имена  каждой новой группы оставляют в исходном нерезидентном атрибуте IndexRoot,а все остальные имена новых групп переносят в новые нерезидентные атрибуты типа IndexRoot(на рисунке этот случай не показан). К исходному нерезидентному атрибуту IndexRootдобавляется атрибут размещения индекса, указывающий на отрезки индекса новых групп. Если теперь при поиске искомого имени в нерезидентной части индекса первого уровня какое- либо сравнение показывает, что искомое имя оказывается меньше, чем одно из хранящихся там имен, то это говорит о том, что в данном атрибуте точного сравнения имени уже быть не может и нужно перейти к подгруппе имен следующего уровня дерева.

Информация о работе Файловые системы NTFS и FAT. Плюсы и минусы