русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Файловые системы VFAT и FAT32


Дата добавления: 2014-11-28; просмотров: 3364; Нарушение авторских прав


Одной из важнейших характеристик исходной файловой системы FAT было ис­пользование имен файлов формата 8.3. К стандартной системе FAT (имеется в виду прежде всего реализация FAT 16) добавились еще две разновидности, используе-


172___________________________________________ Глава 6. Файловые системы

мые в широко распространенных ОС от Microsoft (конкретно — в Windows 95 и Windows NT): VFAT (виртуальная система FAT) и система FAT32, используе­мая в одной из редакций ОС Windows 95 и Windows 98. Ныне файловая система FAT32 поддерживается и такими последними системами, как Windows Millennium Edition, Windows 2000 и Windows XP. Имеются реализации 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 XP. При работе с 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 проблема решается за счет того, что собственно сама таблица размещения файлов в этой файловой системе может содержать до 228 кластеров2.



FAT32 также может перемещать корневой каталог и использовать резервную ко­пию FAT вместо стандартной. Расширенная загрузочная запись FAT32 позволяет

1 Эту версию Windows 95 часто называют Windows 95 OSR2.

2 В 32-разрядном слове FAT32, используемом для представления номера кластера, фактически учи­
тываются только 28 разрядов, что приводит к тому, что размер таблицы размещения файлов в этой
системе не может превышать 228 элементов.


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

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

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

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


174__________________________________________ Глава 6. Файловые системы

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

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

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

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

В двенадцатом байте элемента каталога хранятся атрибуты файла. Шесть из вось­ми указанных разрядов используются DOS2. Они перечислены ниже.

- A (Archive — архив). Показывает, что файл был открыт программой таким об­разом, чтобы у нее была возможность изменить содержимое этого файла. DOS устанавливает этот разряд при открытии файла. Программы резервного копи­рования (или, как часто говорят, архивирования, то есть составления архивов

1 Для программных модулей, имеющих такую структуру, может использоваться и расширение BIN.

2 В некоторых операционных системах, в частности вNovell Netware, используется один или два до­
полнительных разряда атрибутов.


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

данных) нередко сбрасывают его в ходе резервного копирования файла. Если применяется подобная методика, то в следующую создаваемую по порядку ре­зервную копию будут добавлены только те файлы, в которых данный разряд установлен.

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

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

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

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

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

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

На дисках FAT 12 или FAT16 следующие за именем 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 для


176___________________________________________ Глава 6. Файловые системы

самого длинного имени). Таким образом, количество элементов корневого катало­га VFAT уменьшается до 21. Очевидно, что это не вполне красивое решение, по­этому компания Microsoft советует избегать длинных имен в корневых каталогах при отсутствии системы FAT32, у которой количество элементов каталога просто требуемым образом увеличено1.

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

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

Смещение поля, Длина поля, Обозначение Содержимое поля
байт байт поля

ООН(0) 3 JUMP 3EH Безусловный переход на начало

системного загрузчика

ОЗН (3) 8 Системный идентификатор

ОВН (11) 2 SectSize Размер сектора, байт

0DH(13) 1 ClastSize Число секторов в кластере

0ЕН(14) 2 ResSecs Число зарезервированных секторов,

для FAT32 равно 32

10Н(16) 1 FATcnt Число копий FAT

11Н(17) 2 RootSize 0000H

13Н (19) 2 TotSecs 0000H

15Н (21) 1 Media Дескриптор носителя

16Н(22) 2 FATsize 0000H

18Н(24) 2 TrkSecs Число секторов на дорожке

1АН(26) 2 HeadCnt Число рабочих поверхностей

1СН(28) 4 HidnSecs Число скрытых секторов

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

1 Помните и о том, что длина полной файловой спецификации, включающей путь и имя файла (длин­ное или в формате 8.3), тоже ограничивается 260 символами. FAT32 успешно справляется с пробле­мой длинных имен в корневом каталоге, но проблема с ограничением длины полной файловой спе­цификации остается. По этой причине Microsoft рекомендует ограничивать длинные имена 75-80 символами, чтобы оставить достаточно места для пути (180-185 символов).


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

Смещение поля, Длина поля, Обозначение Содержимое поля
байт байт поля

20Н (32) 4 Число секторов на логическом диске

24Н (36) 4 Число секторов в таблице FAT

28Н (37) 2 Расширенные флаги

2АН (38) 2 Версия файловой системы

2СН (39) 4 Номер кластера для первого кластера

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

34Н (43) 2 Номер сектора с резервной копией

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

36Н (54) 12 Зарезервировано

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



<== предыдущая лекция | следующая лекция ==>
Файловая система FAT | Файловая система HPFS


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 3.859 сек.