Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




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

Файловая система VFAT впервые появилась в Windows for Workgroups 3.11. С выходом Windows 95 в VFAT добавилась поддержка длинных имен файлов (long file name, LFN). Тем не менее VFAT сохраняет совместимость с ис­ходным вариантом FAT; это означает, что наряду с длинными именами в ней поддерживаются имена формата «8.3», а также существует специальный меха­низм для преобразования имен «8.3» в длинные имена, и наоборот. Именно фай­ловая система VFAT поддерживается исходными версиями Windows 95, Win­dows NT 4. При работе с VFAT крайне важно использовать файловые утилиты, поддерживающие VFAT вообще и длинные имена, в частности. Дело в том, что более ранние файловые утилиты DOS запросто модифицируют то, что кажется им исходной структурой FAT. Это может привести к потере или порче длинных имен из таблицы FAT, поддерживаемой VFAT (или FAT32). Следовательно, для томов VFAT необходимо пользоваться файловыми утилитами, которые понима­ют и сохраняют файловую структуру VFAT.

В исходной версии Windows 95 основной файловой системой была 32-разрядная VFAT. VFAT может использовать 32-разрядные драйверы защищенного режима или 16-разрядные драйверы реального режима. При этом элементы FAT остают­ся 12- или 16-разрядными, поэтому на диске используется та же структура дан­ных, что и в предыдущих реализациях FAT. VFAT обрабатывает все обращения к жесткому диску и использует 32-разрядный код для всех файловых операций с дисковыми томами.

Основными недостатками файловых систем FAT и VFAT являются большие по­тери на кластеризацию при больших размерах логического диска и ограничения на сам размер логического диска. Это привело к разработке новой реализации файловой системы с использованием той же идеи использования таблицы FAT. Поэтому в Microsoft Windows 95 OEM Service Release 2 (эта версия Windows 95 часто называется Windows 95 OSR2) на смену системе VFAT пришла файловая система FAT32.

FAT32 является полностью самостоятельной 32-разрядной фай­ловой системой и содержит многочисленные усовершенствования и дополнения по сравнению с предыдущими реализациями FAT. Принципиальное отличие заключается в том, что FAT32 намного эффективнее расходует дисковое пространство. Прежде всего, система FAT32 использует кла­стеры меньшего размера по сравнению с предыдущими версиями, которые огра­ничивались 65535 кластерами на том (соответственно, с увеличением размера диска приходилось увеличивать и размер кластеров). Следовательно, даже для дисков размером до 8 Гбайт FAT32 может использовать 4-килобайтные класте­ры. В результате по сравнению с дисками FAT16 экономится значительное дис­ковое пространство (в среднем 10-15 %).

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

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

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

Необходимость представлять длинные имена и обеспечить совместимость с прежними версиями FAT привела разработчиков компании Microsoft к компромиссному решению: для представления длинного имени они стали использовать элементы каталога, в том числе и корневого.

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

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

Сокращение HPFS расшифровывается как «High Performance File System» – вы­сокопроизводительная файловая система. HPFS впервые появилась в OS/2 1.2 и LAN Manager. HPFS была разработана совместными усилиями лучших спе­циалистов компании IBM и Microsoft. Архитектура HPFS начала создаваться как файловая система, которая сможет использовать преиму­щества многозадачного режима и обеспечит в будущем более эффективную и на­дежную работу с файлами на дисках большого объема.

HPFS была первой файловой системой для ПК, в которой была реализована поддержка длинных имен. HPFS, как FAT и многие другие файловые систе­мы, обладает структурой каталогов, но в ней также предусмотрены автоматиче­ская сортировка каталогов и специальные расширенные атрибуты, упрощающие реализацию безопасности файлового уровня и создание множественных имен. HPFS поддерживает те же самые атрибуты, что и файловая система FAT, по ис­торическим причинам, но также поддерживает и новую форму file-associated, то есть информацию, называемую расширенными атрибутами. Но самым главным отличием все же являются базовые принципы хранения информации о местоположении файлов.

Принципы размещения файлов на диске, положенные в основу HPFS, увеличи­вают как производительность файловой системы, так и ее надежность и отказо­устойчивость. Для достижения этих целей предложено несколько способов: раз­мещение каталогов в середине дискового пространства, использование методов бинарных сбалансированных деревьев для ускорения поиска информации о файле, рассредоточение информации о местоположении записей файлов по всему дис­ку, при том что записи каждого конкретного файла размещаются (по возможно­сти) в смежных секторах и поблизости от данных об их местоположении. Дейст­вительно, система HPFS стремится, прежде всего, к тому, чтобы расположить файл в смежных кластерах, или, если такой возможности нет, разместить его на диске таким образом, чтобы фрагменты (extents) файла физически были как можно ближе друг к другу. Такой подход существенно уменьшает время позиционирова­ния головок записи/чтения жесткого диска и время ожидания (rotational laten­cy) – задержка между установкой головки чтения/записи на нужную дорожку диска и началом чтения данных с диска). Можно сказать, что файловая система HPFS имеет, по сравнению с FAT, следующие основные преимущества:

высокая производительность;

надежность;

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

эффективное использование дискового пространства.

Все эти преимущества обусловлены структурой диска HPFS. Рассмотрим ее бо­лее подробно (рис. 3.6).

Рис. 3.6. Структура раздела HPFS

 

В начале диска расположено несколько управляющих блоков. Все остальное дис­ковое пространство в HPFS разбито на части («полосы», «ленты» из смежных секторов, в оригинале – band). Каждая такая группа данных занимает на диске пространство в 8 Мбайт и имеет свою собственную битовую карту распределе­ния секторов. Эти битовые карты показывают, какие секторы данной полосы за­няты, а какие – свободны. Каждому сектору ленты данных соответствует один бит в ее битовой карте. Если бит имеет значение 1, то соответствующий сектор занят, а если 0 – свободен.

Битовые карты двух полос располагаются на диске рядом, так же располагаются и сами полосы. То есть последовательность полос и карт выглядит следующим образом: битовая карта, битовая карта, лента с данными, лента с данными, бито­вая карта, битовая карта и т. д. Такое расположение «лент» позволяет непрерыв­но разместить на жестком диске файл размером до 16 Мбайт и в то же время не удалять от самих файлов информацию об их местонахождении.

Очевидно, что если бы на весь диск была только одна битовая карта (bit map), как это сделано в FAT, то для работы с ней приходилось бы перемещать головки чте­ния/записи в среднем через половину диска. Именно для того, чтобы избежать этих потерь, в HPFS и разбит диск на «полосы». Получается своего рода распре­деленная структура данных об используемых и свободных блоках.

Дисковое пространство в HPFS выделяется не кластерами, как в FAT, а блоками. В современной реализации размер блока взят равным одному сектору, но в принципе он мог бы быть и иного размера. По сути дела, блок – это и есть кластер. Размещение файлов в таких небольших блоках позволяет более эффектив­но использовать пространство диска, так как непроизводительные потери сво­бодного места составляют в среднем всего 256 байт на каждый файл. Например, кластер на отформатированном под FAT диске объемом от 512 до 1024 Мбайт имеет размер 16 Кбайт. Следовательно, непродуктивные потери сво­бодного пространства на таком разделе в среднем составляют 8 Кбайт (8192 байт) на один файл, в то время как на разделе HPFS эти потери всегда будут состав­лять всего 256 байт на файл. Таким образом, на каждый файл экономится почти 8 Кбайт.

На рис. 3.6 показано, что помимо «лент» с записями файлов и битовых карт в томе с HPFS имеются еще три информационные структуры. Это так называе­мый загрузочный блок (boot block), дополнительный блок (super block) и запас­ной (резервный) блок (spare block). Загрузочный блок (boot block) располагается в секторах с 0 по 15; он содержит имя тома, его серийный номер, блок парамет­ров BIOS, который содержит информацию о жестком диске, и программу начальной за­грузки. В дополнительном блоке (super block) содержится указатель на список битовых карт (bitmap blocklist). В этом списке перечислены все блоки на диске, в которых расположены би­товые карты, используемые для обнаружения свободных секторов. Также в до­полнительном блоке хранится указатель на список дефектных блоков (bad block list), указатель на группу каталогов (directory band), указатель на файловый узел (F‑node) корневого каталога, а также дата последней проверки раздела програм­мой CHKDSK. В списке дефектных блоков перечислены все поврежденные секто­ры (блоки) диска. Когда система обнаруживает поврежденный блок, он вносится в этот список и для хранения информации больше не используется. Кроме этого, в структуре super block содержится информация о размере «полосы».

Резервный блок (spare block) содержит указатель на карту аварийного замеще­ния (hotfix map или hotfix-areas), указатель на список свободных запасных бло­ков (directory emergency free block list), используемых для операций на почти переполненном диске, и ряд системных флагов и дескрипторов. Этот блок разме­щается в 17 секторе диска. Резервный блок обеспечивает высокую отказоустойчивость файловой системы HPFS и позволяет восстанавливать поврежденные данные на диске.

Файлы и каталоги в HPFS базируются на фундаментальном объекте, называе­мом F-Node, в котором содержится информация о расположении файла и о его расширенных атрибутах. Эта структура характерна для HPFS и аналога в файловой системе FAT не имеет. Каждый файл и каталог диска имеет свой файловый узел F-Node. Каждый объект F-Node занимает один сектор и всегда располагается поблизости от своего файла или каталога (обычно – непосредственно перед файлом или ка­талогом). Объект F-Node содержит длину и первые 15 символов имени файла, специальную служебную информацию, статистику по доступу к файлу, расши­ренные атрибуты файла, список прав доступа и т. д.

Однако существенно больший (по сравнению с размещением Directory Band в середине логического диска) вклад в производительность HPFS дает использо­вание метода сбалансированных двоичных деревьев для хранения и поиска ин­формации о местонахождении файлов. Как известно, в файловой системе FAT каталог имеет линейную структуру, специальным образом не упорядоченную, поэтому при поиске файла требуется последовательно просматривать его с само­го начала. В HPFS структура каталога представляет собой сбалансированное де­рево с записями, расположенными в алфавитном порядке (рис. 3.7). Каждая за­пись, входящая в состав В-Тrее дерева, содержит атрибуты файла, указатель на соответствующий файловый узел, информацию о времени и дате создания фай­ла, времени и дате последнего обновления и обращения, длине данных, содержа­щих расширенные атрибуты, счетчик обращений к файлу, длине имени файла и само имя, и другую информацию.

Рис. 3.7. Сбалансированное двоичное дерево

 

Файловая система HPFS при поиске файла в каталоге просматривает только не­обходимые ветви двоичного дерева (В-Тrее). Такой метод во много раз эффек­тивнее, чем последовательное чтение всех записей в каталоге, что имеет место в системе FAT. Для того чтобы найти искомый файл в каталоге (точнее, указатель на его информационную структуру F-node), организованном на принципах сба­лансированных двоичных деревьев, большинство записей вообще читать не нуж­но. В результате для поиска информации о файле необходимо выполнить суще­ственно меньшее количество операций чтения диска.

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

HPFS относится к так называемым монтируемым файловым системам. Это оз­начает, что она не встроена в операционную систему, а добавляется к ней при не­обходимости. Файловая система HPFS устанавливается оператором IFS в файле CONFIG.SYS. Этот оператор всегда помещается в первой строке данного конфи­гурационного файла. В приводимом далее примере оператор IFS устанавливает файловую систему HPFS с кэшем в 2 Мбайт, длиной записи кэша в 8 Кбайт и ав­томатической процедурой проверки дисков С и D:

IFS=E \OS2\HPFS.IFS /CACHE:2048 /CRECL:4 /AUTOCHECK:CD





Поделиться с друзьями:


Дата добавления: 2016-11-18; Мы поможем в написании ваших работ!; просмотров: 809 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Если президенты не могут делать этого со своими женами, они делают это со своими странами © Иосиф Бродский
==> читать все изречения...

2507 - | 2379 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.