Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lections.doc
Скачиваний:
254
Добавлен:
13.03.2016
Размер:
1.4 Mб
Скачать

12.3. Примеры файловых систем

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

Файловая система FAT(FileAllocationTable) поддерживается всеми ОС для ПК. Она проста, надежна и занимает мало места на диске. СистемаFATбыла разработана в течение нескольких дней Биллом Гейтсом в феврале 1976 при создании среды программированияBasic.

Основное назначение файловой системы отслеживать распределение пространства диска между файлами. Все пространство диска разбивается на участки фиксированной длины – кластеры. Кластер представляет собой один или несколько смежных секторов в логическом дисковом адресном пространстве. Файл может занимать не менее одного кластера. Размер кластера зависит от размера виртуального диска. Для каждого файла в FATсоздается цепочка элементов каждый из которых указывает на определенный кластер. В каталоге содержащем имя файла имеется указатель на начало цепочки.

ПРИМЕР:

. . .

15

16

17

18

19

20

. . .

кластеры

файла

дефектный

свободный

кл. файла

PR1.txt 15

. . .

16

19

деф.

своб.

посл.

. . .

15

16

17

18

19

Элемент каталога

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

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

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

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

Используемый в FATметод хранения информации не отличается высокой надежностью, т. к. при разрыве списка адресных указателей, например, из-за сбоя в работе ОС из-за внешних электромагнитных помех, теряется информация обо всех последующих кластерах файла.

FATиспользуется при доступе к диску очень интенсивно, поэтому она обычно загружается в ОП. Т. к. вFATхранится очень важная информация, тоFATхранится на диске в двух экземпляра, второй экземпляр следует непосредственно за первым. Обновляются копииFATодновременно. Используется же только первый экземпляр. Если он по каким-то причинам окажется разрушенным, то произойдет обращение ко второму экземпляруFAT.

Элемент таблицы FATимеет длину 16 битов, следовательно, можно иметь до 216кластеров (с номерами от 0 до 65535). Если дисковый раздел 32МБ, то размер кластера=512б. С увеличением раздела будет увеличиваться и размер кластера

Если файл будет иметь размер 33К, размер кластера 32К, то файл будет занимать 2 кластера, причем 31К будет свободен. Следовательно, еще одним недостатком FATявляются большие потери дискового пространства. Для диска 1-1,2Гб потери могут составить около 200Мб. Чтобы исправить этот недостаток большие диски можно разбивать на несколько виртуальных дисков меньшего размера.

Файловая система FATсчитается неэффективной для дисков >500Мб.

Логический раздел, отформатированный под файловую систему FATсостоит из следующих областей(рис.):

  1. Загрузочный сектор – содержит программу начальной загрузки ОС. Вид этой программы зависит от типа ОС, которая будет загружаться из этого раздела.

  2. Основная копия FATсодержит информацию о размещении файлов и каталогов на диске.

  3. Резервная копия FAT.

  4. Корневой каталог занимает фиксированную обласить размером в 32 сектора (16Кбайт), что прозволяет хранить 512 записей о файлах и каталогах, т. к. каждая запись каталога состоит из 32 байт

  5. Область данных предназначена для размещения всех файлов и каталогов, кроме корневого.

З

Элементы (указатели) FAT

32 бита одна запись каталога

Кластеры данных

агрузочный сектор 512 байт

0

1

2

3

...

FAT1

FAT2 (копия)

Root directory

.

.

.

0

1

2

Одной из важнейших характеристик FATбыло использование имен файлов формата 8.3. К стандартнойFAT(реализацияFAT16 ) добавились еще 2 разновидности, используемые вWindows95 иWindowsNT:VFAT(виртуальнаяFAT) иFAT32. СейчасFAT32 поддерживается иWindowsMillenniumEditionи всеми ОС семействаWindows2000.

В файловую систему VFATдобавилась поддержка длинных имен файлов, для чего используются блоки каталогов. В исходной версииWindows95 основной файловой системой былаVFAT.Windows95, начиная с версииOSR2 (12 августа 1996г.), поддерживает 32 разряднуюFAT(FAT32), которая было разработана для поддержки больших разделов диска. Принципиальное отличиеFAT32 заключается в том, что она намного эффективнее расходует дисковое пространство, т. к. использует кластеры меньшего размера.

В результате экономится 10-15% дискового пространства. FAT32 также может перемещать корневой каталог и использовать резервную копиюFATвместо стандартной. Корневой каталог представлен в виде обычной цепочки кластеров. Следовательно, корневой каталог может находиться в произвольном месте диска, что снимает ограничение на его размер. Т. к. вFAT32 по сравнению с каталогамиFATиспользуются новые элементы, то для проверки структурыFAT32 требуются специальные служебные утилиты, также требуется специальное антивирусное ПО. Для обеспечения максимальной совместимости с существующими прикладными программами и драйверами устройств,FAT32 была реализована с минимумом возможных изменений по сравнению сFAT16. Все утилитыMicrosoft, предназначенные для работы с дисками (Format,FDISK,DefragиScanDisk) были переработаны для поддержкиFAT32.

Таким образом, FAT32 обеспечивает следующие преимущества по сравнению сFAT16:

  1. Поддержка дисков размером до 2 Тб;

  2. Более эффективное расходование дискового пространства, т. к. использует более мелкие кластеры;

  3. Нет ограничения на количество элементов в корневом каталоге;

  4. Более быстрая загрузка программ.

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

Отличительные свойства данной файловой системы:

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

  • низкий уровень фрагментации,

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

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

Максимальный размер раздела NTFS в данный момент ограничен лишь размерами жестких дисков.

Структура раздела

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

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

MFT и ее структура

Каждый элемент системы представляет собой файл - даже служебная информация. Самый главный файл на NTFS называется MFT, или Master File Table - общая таблица файлов. Именно он размещается в MFT зоне и представляет собой централизованный каталог всех остальных файлов диска, и даже себя самого. MFT поделен на записи фиксированного размера (обычно 1 Кбайт), и каждая запись соответствует какому-либо файлу. Первые 16 файлов носят служебный характер - они называются метафайлами, причем самый первый метафайл - сам MFT. Эти первые 16 элементов MFT - единственная часть диска, имеющая фиксированное положение. Интересно, что вторая копия первых трех записей, для надежности хранится ровно посередине диска. Остальной MFT-файл может располагаться, как и любой другой файл, в произвольных местах диска - восстановить его положение можно с помощью его самого, "зацепившись" за самую основу - за первый элемент MFT.

Метафайлы

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

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

$MFT

сам MFT

$MFTmirr

копия первых 16 записей MFT, размещенная посередине диска

$LogFile

файл поддержки журналирования

$Volume

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

$AttrDef

список стандартных атрибутов файлов на томе

$.

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

$Bitmap

карта свободного места тома

$Boot

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

$Quota

файл, в котором записаны права пользователей на использование дискового пространства

$Upcase

файл - таблица соответствия заглавных и прописных букв в имен файлов на текущем томе. Нужен в основном потому, что в NTFS имена файлов записываются в Unicode, что составляет 65 тысяч различных символов, искать большие и малые эквиваленты которых очень нетривиально.

Файлы

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

Каталоги

Каталог на NTFS представляет собой специфический файл, хранящий ссылки на другие файлы и каталоги, создавая иерархическое строение данных на диске. Файл каталога поделен на блоки, каждый из которых содержит имя файла, базовые атрибуты и ссылку на элемент MFT, который уже предоставляет полную информацию об элементе каталога. Внутренняя структура каталога представляет собой бинарное дерево. Вот что это означает: для поиска файла с данным именем в линейном каталоге, таком, например, как у FAT-а, операционной системе приходится просматривать все элементы каталога, пока она не найдет нужный. Бинарное же дерево располагает имена файлов таким образом, чтобы поиск файла осуществлялся более быстрым способом - с помощью получения двухзначных ответов на вопросы о положении файла. Вопрос, на который бинарное дерево способно дать ответ, таков: в какой группе, относительно данного элемента, находится искомое имя - выше или ниже? Мы начинаем с такого вопроса к среднему элементу, и каждый ответ сужает зону поиска в среднем в два раза. Файлы, скажем, просто отсортированы по алфавиту, и ответ на вопрос осуществляется очевидным способом - сравнением начальных букв. Область поиска, суженная в два раза, начинает исследоваться аналогичным образом, начиная опять же со среднего элемента.

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

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

Имена файлов

Имена пользователей

Win.exe

Class.dbf

Unox.ppt

Modem.txt

Маша

читать

выполнять

Выполнять

Миша

Читать

Выполнять

Выполнять, читать

Саша

Читать

Выполнять, читать

Паша

Читать, писать

создать

Практически во всех операционных системах матрица прав доступа хранится «по частям», то есть для каждого файла или каталога создается так называемый список управления доступом (Access Control List, ACL), в котором описываются права на выполнение операций пользователей и групп пользователей по отноше­нию к этому файлу или каталогу. Список управления доступа является атрибутом файла или каталога.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]