1 семестр Информатика, ее предмет и задачи. Основные понятия информатики. Информация и формы ее представления

Вид материалаДокументы
12.3. Физическая организация файловой системы
12.3. Примеры файловых систем
MFT и ее структура
Подобный материал:
1   ...   6   7   8   9   10   11   12   13   ...   22

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


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

Основными устройствами, на которых хранятся файлы, являются дисковые накопители. Они предназначены для считывания и записи файлов на жесткие и гибкие магнитные диски. Жесткий диск состоит из одной или нескольких стеклянных или металлических пластин, каждая из которых покрыта с одной или двух сторон магнитным материалом (т. е. диск – это пакет пластин). На каждой стороне каждой пластины размечены тонкие концентрические дорожки, на которых хранятся данные. Количество дорожек зависит от типа диска. Нумерация дорожек начинается с 0 от внешнего края к центру диска. Когда диск вращается, головка диска считывает двоичные данные с дорожки или записывает их на дорожку. Головки перемещаются над поверхностью диска дискретными шагами, каждый шаг соответствует одной дорожке.

Совокупность дорожек одного радиуса на всех поверхностях всех пластин называется цилиндром. Каждая дорожка разбивается на фрагменты, которые называются секторами или блоками. Все дорожки имеют одинаковое число секторов, на которые можно записать одинаковое количество байт. Сектор имеет фиксированный для данной системы размер, выражающийся степенью двойки. Чаще всего размер сектора составляет 512 байт. Учитывая, что дорожки разного радиуса имеют одинаковое число секторов, плотность записи становится тем выше, чем больше ближе дорожка к центру.

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

ОС при работе с диском использует, как правило, собственную единицу дискового пространства, которая называется кластером. При создании файла место на диске ему выделяется кластерами. Например, если файл имеет размер 2560 байт, а размер кластера в файловой системе определен в 1024 байта, то файлу будет выделено 3 кластера.

Дорожки и сектора создаются в результате выполнения процедуры низкоуровневого или физического форматирования диска. Низкоуровневый формат не зависти от типа ОС.

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

Для форматирования используется утилита FORMAT.

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

Загрузочный сектор (Boot Record) создается во время форматирования диска. Он размещается на каждом диске в логическом секторе с номером 0. Он содержит данные о формате диска, а также короткую программу, которая используется в процессе начальной загрузки ОС. Если диск подготовлен не как системный, то загрузочный сектор будет содержать программу о том, что диск не является системным.

Прежде, чем форматировать диск под определенную файловую систему, он может быть разбит на разделы. Раздел – это непрерывная часть физического диска, которую ОС представляет пользователю как логическое устройство (логический диск). Логическое устройство функционирует так, как если бы это был отдельный физический диск. Пользователь работает именно с логическим диском. На каждом логическом устройстве может быть создана только одна файловая система. На разных логических дисках (разделе) одного физического диска могут располагаться файловые системы различного типа. Все разделы одного диска имеют одинаковый размер сектора (блока), определенный низкоуровневым форматированием. Но размеры кластеров, определяемых высокоуровневым форматированием, в разных разделах одного физического диска могут быть разными.

Один из разделов диска помечается как загружаемый или активный. Именно из него считывается загрузчик ОС.

Пример (Для ОС Windows) Диск состоит из двух разделов: основного и дополнитель­ного. Основной раздел содержит ровно один логический диск, который может использоваться для загрузки операционной системы при включении компью­тера. Дополнительный раздел может содержать несколько логических дисков, которые, однако, не являются загрузочными.

Жесткий диск

Основной раздел

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




Дополнительный раздел

Логический диск 1

Логический диск 2

Логический диск 3 . . .








Рис. 9.7. Логическая структура жесткого диска

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

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


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

Файловая система FAT(File Allocation Table) поддерживается всеми ОС для ПК. Она проста, надежна и занимает мало места на диске. Система 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 и Windows NT: VFAT (виртуальная FAT) и FAT32. Сейчас FAT32 поддерживается и Windows Millennium Edition и всеми ОС семейства Windows 2000.

В файловую систему 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 тысяч различных символов, искать большие и малые эквиваленты которых очень нетривиально.