Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сппо_лекция_04.doc
Скачиваний:
20
Добавлен:
24.09.2019
Размер:
330.24 Кб
Скачать

Файловые системы vfat и fat32

Одной из важнейших характеристик исходной файловой системы FAT было ис­пользование имен файлов формата 8.3. К стандартной системе FAT (имеется в виду прежде всего реализация FAT 16) добавились еще две разновидности, используемые в широко распространенных ОС от Microsoft (конкретно — в Windows 95 и Windows NT): VFAT (виртуальная система FAT) и система FAT32, используе­мая в одной из редакций ОС Windows 95 и Windows 98. Ныне файловая система FAT32 поддерживается и такими последними системами, как Windows Millennium Edition, Windows 2000 и Windows ХР. Имеются реализации FAT32 и для Windows NT, и дяя Linux.

Файловая система VFAT впервые появилась в Windows 3.11 (Windows for Work­groups). С выходом Windows 95 в VFAT добавилась поддержка длинных имен файлов (Long File Name, LFN). Тем не менее, VFAT сохраняет совместимость с ис­ходным вариантом FAT; это означает, что наряду с длинными именами в ней под­держиваются имена формата 8.3, а также существует специальный механизм для преобразования имен 8.3 в длинные имена, и наоборот. Именно файловая система VFAT поддерживается исходными версиями Windows 95, Windows NT 4, Windows 2000 и Windows ХР. При работе с VFAT крайне важно использовать файловые утилиты, обслуживающие VFAT вообще и длинные имена в частности. Дело в том, что более ранние файловые утилиты DOS запросто модифицируют то, что кажет­ся им исходной структурой FAT, Это может привести к потере или порче длинных имен из таблицы размещения файлов, поддерживаемой VFAT (или FAT32). Сле­довательно, для томов VFAT необходимо пользоваться файловыми утилитами, которые понимают и сохраняют файловую структуру VFAT.

Основными недостатками файловых систем FAT и VFAT, которые привели к разработке новой реализации файловой системы, основанной на той же идее (таб­лице размещения файлов), являются большие потери на кластеризацию при боль­ших размерах логического диска и ограничения на сам размер логического дис­ка. Поэтому в Microsoft Windows 95 OEM Service Release 2' на смену системе VFAT пришла файловая система FAT32, которая является полностью самостоя­тельной 32-разрядной файловой системой и содержит многочисленные усовер­шенствования и дополнения по сравнению с предыдущими реализациями FAT. Самое принципиальное отличие заключается в том, что FAT32 намного эффек­тивнее расходует дисковое пространство. Прежде всего, кластеры в этой системе меньше, чем кластеры в предыдущих версиях, в которых могло быть не более 65 535 кластеров на логический диск (соответственно с увеличением размера диска приходилось увеличивать и размер кластеров). Следовательно, даже для дисков размером до 8 Гбайт FAT32 может использовать 4-килобайтные класте­ры. В результате по сравнению с дисками FAT 16 экономится значительное дис­ковое пространство (в среднем 10-15 %). В FAT32 проблема решается за счет того, что собственно сама таблица размещения файлов в этой файловой системе может содержать до 2^ кластеров FAT32 также может перемещать корневой каталог и использовать резервную ко­пию FAT вместо стандартной. Расширенная загрузочная запись FAT32 позволяет создавать копии критически важных структур данных; это повышает устойчивость дисков FAT32 к нарушениям структуры таблицы размещения файлов по сравне­нию с предыдущими версиями. Корневой каталог в FAT32 представлен в виде обыч­ной цепочки кластеров, следовательно, он может находиться в произвольном месте диска, что снимает действовавшее ранее ограничение на размер корневого катало­га (512 элементов).

Системы Windows 95 OSR2 и Windows 98 могут работать и с разделами VFAT, созданными Windows NT. То, что говорилось ранее об использовании файловых утилит VFAT с томами VFAT, относится и к FAT32. Поскольку прежние утили­ты FAT (для FAT32 в эту категорию входят обе файловые системы, FAT и VFAT) могут повредить или уничтожить важную служебную информацию, для томов FAT32 нельзя пользоваться никакими файловыми утилитами, кроме утилит FAT32.

Рис. 5. Элементы каталогов для FAT, VFAT и FAT32

Помимо повышения максимального объема логического диска и уменьшения эф­фекта кластеризации, файловая система FAT32 вносит ряд необходимых усовер­шенствований в структуру корневого каталога. Предыдущие реализации требова­ли, чтобы вся информация корневого каталога FAT находилась в одном дисковом кластере. При этом корневой каталог мог содержать не более 512 файлов. Необхо­димость представлять длинные имена и обеспечить совместимость с прежними версиями FAT привела разработчиков компании Microsoft к компромиссному ре­шению: для представления длинного имени они стали использовать элементы каталога, в том числе и корневого. По этой причине для того, чтобы компенсиро­вать сокращение элементов главного каталога при использовании длинных имен, в FAT32 было увеличено их количество с 512 до 2048. Более того, чтобы не испы­тывать возможных проблем из-за расходования элементов активного каталога на описания файлов с. длинными именами, компания Microsoft не рекомендует да­вать файлам слишком длинные имена,

Рассмотрим способ представления в VFAT длинного имени файла (рис. 5).

Первые 11 байт элемента каталога DOS используются для хранения имени файла. Каждое такое имя разделяется на две части: в первых восьми байтах хранятся сим­волы собственно имени, а в последних трех — символы так называемого расшире­ния, с помощью которого реализуются механизмы предопределенных типов. Были введены соответствующие системные соглашения, и файлы определенного типа желательно именовать с оговоренным расширением. Например, исполняемые фай­лы с расширением СОМ определяют исполняемую двоичную программу с про­стейшей односегментной структурой'. Более сложные программы имеют расши­рение ЕХЕ. Определены расширения для большого количества типов файлов и эти расширения используются для ассоциированного запуска программ, обраба­тывающих эти файлы.

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

В двенадцатом байте элемента каталога хранятся атрибуты файла. Шесть из вось­ми указанных разрядов используются DOS^ Они перечислены ниже. a A (Archive — архив). Показывает, что файл был открыт программой таким об­разом, чтобы у нее была возможность изменить содержимое этого файла, DOS устанавливает этот разряд при открытии файла. Программы резервного копи­рования (или, как часто говорят, архивирования, то есть составления архивов данных) нередко сбрасывают его в ходе резервного копирования файла. Если применяется подобная методика, то в следующую создаваемую по порядку ре­зервную копию будут добавлены только те файлы, в которых данный разряд установлен.

  • D (Directory — каталог). Показывает, что данный элемент каталога указывает на подкаталог, а не на файл.

  • V (Volume — том). Применяется только к одному элементу каталога в корне­вом каталоге. В нем собственно и хранится имя дискового тома. Этот атрибут также применяется в случае длинных имен файлов, о чем можно будет узнать из следующего раздела.

  • S (System — системный). Показывает, что файл является частью операционной системы или специально отмечен подобным образом прикладной программой, что иногда делается для защиты от копирования.

  • Н (Hidden — скрытый). К скрытым относятся также файлы с установленным атрибутом S (системный), которые не отображаются по команде DIR.

  • R (Read only — только для чтения). Показывает, что данный файл не подле­жит изменению. Разумеется, поскольку это лишь разряд байта, хранящего­ся на диске, то любая программа может изменить этот разряд и, значит, разрешить изменение соответствующего файла. Этот атрибут в основном ис­пользуется для примитивной защиты от пользовательских ошибок, то есть он помогает избежать неумышленного удаления или изменения ключевых файлов.

Следует отметить, что файл, помеченный одним или более из указанных выше ат­рибутов, может иметь вполне определенный смысл. Например, большинство фай­лов, отмечаемых в качестве системных, отмечаются также атрибутами «скрытый» и «только для чтения».

На дисках FAT 12 или FAT 16 следующие за именем 10 байт не используются. Обык­новенно они заполняются нулями и считаются резервными значениями. А на дис­ке с файловой системой FAT32 эти 10 байт содержат самую разную информацию о файле. При этом байт, отмеченный как зарезервированный для NT, представля­ет собой, как подразумевает его название, поле, не используемое в DOS или Win­dows 9х, но применяемое в Windows NT.

Из соображений совместимости поля, которые встречаются в элементах каталога для коротких имен формата FAT 12 и FAT 16, находятся на тех же местах и в эле­ментах каталога для коротких имен формата FAT32. Остальные поля, которые встречаются только в элементах каталога для коротких имен формата FAT32, со­ответствуют зарезервированной области длиной 10 байт в элементах каталога для коротких имен форматов FAT 12 и FAT 16.

Как видно из рис. 6.3, для длинного имени файла используется несколько элемен­тов каталога. Таким образом, появление длинных имен фактически привело к даль­нейшему уменьшению количества файлов, находящихся в корневом каталоге. По­скольку длинное имя может содержать до 256 символов, всего один файл с полным длинным именем занимает до 25 элементов FAT ( 1 для имени 8.3 и еще 24 для самого длинного имени). Таким образом, количество элементов корневого катало­га VFAT уменьшается до 21. Очевидно, что это не вполне красивое решение, по­этому компания Microsoft советует избегать длинных имен в корневых каталогах при отсутствии системы FAT32, у которой количество элементов каталога просто требуемым образом увеличено.

Загрузочная запись для системы FAT32 несколько отличается от загрузочной записи FAT16. Так, например, в загрузочном секторе для тома с FAT32 в блоке DPB содер­жатся дополнительные поля, а те поля, что находятся в привычном для системы FAT16 месте, перенесены. Поэтому операционная система, в которой есть возможность рабо­тать с файловой системой FAT16, но нет системы управления файлами, понимающей спецификации FAT32, не может читать данные с томов, отформатированных под фай­ловую систему FAT32. В загрузочном секторе для файловой системы FAT32 по-пре­жнему байты с ООН по ОАН содержат команду перехода и OEM ID, а в байтах с ОВН по 59Н содержатся данные блока параметров диска (PDB). Отличие заключается именно в несколько иной структуре блока DPB (табл. 5).

Таблица 5. Структура загрузочной записи для FAT32

Смещение поля, байт

Длина поля, байт

Обозначение поля

Содержимое поля

ООН (0)

3

JUMP3EH

Безусловный переход на начало системного загрузчика

ОЗН (3)

8

Системный идентификатор

ОВН (11)

2

SectSize

Размер сектора, байт

ODH(13)

1

ClastSize

Число секторов в кластере

OEH(14)

2

ResSecs

Число зарезервированных секторов, для FAT32 равно 32

10H(16)

1

FATont

Число копий FAT

ПН (17)

2

RootSize

ООООН

13Н(19)

2

TotSecs

ООООН

15Н(21)

1

Media

Дескриптор носителя

16Н(22)

2

FATsize

ООООН

18Н(24)

2

TrkSecs

Число секторов на дорожке

1АН (26)

2

HeadCnt

Число рабочих поверхностей

1СН(28)

4

HidnSecs

Число скрытых секторов (располагаются перед загрузочным сектором). Используется при загрузке для вычисления абсолютного смещения корневого каталога и данных

Смещение поля, байт

Длина поля, байт

Обозначение поля

Содержимое поля

20Н (32)

4

Число секторов на логическом диске

24Н (36)

4

Число секторов в таблице FAT

28Н (37)

2

Расширенные флаги

2АН (38)

2

Версия файловой системы

2CH (39)

4

Номер кластера для первого кластера корневого каталога

34H (43)

2

Номер сектора с резервной копией загрузочного сектора

36H (54)

12

Зарезервировано

Заметим, что загрузочная запись для диска с FAT32 занимает не один сектор, как в РАТ16и FAT12, а три. Резервная загрузочная запись, как правило, располагается в секторах 7-9.

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

В название файловой системы NTFS (New Technology File System — файловая си­стема новой технологии) входят слова «нЬвая технология». Действительно, фай­ловая система NTFS по сравнению с широко известной FAT16 (и даже FAT32) содержит ряд значительных усовершенствований и изменений. С точки зрения пользователей файлы по-прежнему хранятся в каталогах, ныне при работе в среде Windows часто называемых папками (folders). Однако в ней появилось много но­вых особенностей и возможностей.

Основные возможности файловой системы NTFS

При проектировании NTFS особое внимание было уделено надежности, механиз­мам ограничения доступа к файлам и каталогам, расширенной функциональнос­ти, поддержке дисков большого объема и пр. Начала разрабатываться эта система в рамках проекта OS/2 v.3, поэтому она переняла многие интересные особенности файловой системы HPFS.

Надежность

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

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

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