ФАЙЛОВЫЕ СИСТЕМЫ XFAT И VFAT. ВОПРОСЫ СОВМЕСТИМОСТИ И ОГРАНИЧЕНИЯ. - Студенческий научный форум

VI Международная студенческая научная конференция Студенческий научный форум - 2014

ФАЙЛОВЫЕ СИСТЕМЫ XFAT И VFAT. ВОПРОСЫ СОВМЕСТИМОСТИ И ОГРАНИЧЕНИЯ.

Берестнева Е.В. 1
1Томский политехнический университет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

FAT является наиболее простой из поддерживаемых Windows NT файловых систем. Основой файловой системы FAT является таблица размещения файлов,

FAT (англ. File Allocation Table — «таблица размещения файлов») — классическая архитектура файловой системы, которая из-за своей простоты всё ещё широко используется для флеш-дисков и карт памяти. Разработана Биллом Гейтсом и Марком МакДональдом (англ.) в 1976—1977 годах. Использовалась в качестве основной файловой системы в операционных системах семейств DOS и Windows (до версии Windows 2000).

Структура FAT следует стандарту ECMA-107 и подробно определяется официальной спецификацией от Microsoft, известной под названием FATGEN

Существует три версии FAT — FAT12, FAT16 и FAT32. Они отличаются разрядностью записей в дисковой структуре, т.е. количеством бит, отведённых для хранения номера кластера. FAT12 применяется в основном для дискет, FAT16 — для дисков малого объёма. На основе FAT была разработана новая файловая система exFAT (extended FAT), используемая преимущественно для флеш-накопителей.

Изначально FAT не поддерживала иерархическую систему каталогов. Все файлы располагались в корневом каталоге. Это оказалось неудобно и к тому же малый размер корневого каталога ограничивал количество файлов на диске. Каталоги были введены с выходом MS-DOS 2.0.

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

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

FAT представляет собой простую файловую систему, разработанную для небольших дисков и простых структур каталогов. Ее название происходит от названия метода, применяемого для организации файлов ≈ таблица размещения файлов (File Allocation Table, FAT). Эта таблица размещается в начале тома. В целях защиты тома на нем хранятся две копии FAT. В случае повреждения первой копии FAT дисковые утилиты (например, Scandisk) могут воспользоваться второй копией для восстановления тома. Таблица размещения файлов и корневой каталог должны располагаться по строго фиксированным адресам, чтобы файлы, необходимые для запуска системы, были размещены корректно.

По принципу построения FAT похожа на оглавление книги, т. к. операционная система использует ее для поиска файла и определения кластеров, которые этот файл занимает на жестком диске. Изначально компания Microsoft разработала FAT для управления файлами на дискетах, и только затем приняла ее в качестве стандарта для управления дисками в MS-DOS. Сначала для дискет и небольших жестких дисков (менее 16 Мбайт) использовалась 12-разрядная версия FAT (так называемая FAT12). В MS-DOS v. 3.0 была введена 16-разрядная версия PAT для более крупных дисков. К настоящему моменту FAT 12 применяется на носителях очень малого объема (или на очень старых дисках). Например, все 3,5-дюймовые дискеты емкостью 1,44 Мбайт форматируются для FAT16, а все 5,25-дюймовые ≈ для FAT12.

В различных операционных системах также были внедрены различные расширения FAT. Например, в DR-DOS имеются дополнительные атрибуты доступа к файлам; в Windows 95, Linux и Proolix — поддержка длинных имён файлов (LFN) в формате Unicode (Virtual FAT — VFAT); в OS/2 — расширенные атрибуты всех файлов.

VFAT — это расширение FAT, появившееся в Windows 95. В FAT имена файлов имеют формат 8.3 и состоят только из символов кодировки ASCII. В VFAT была добавлена поддержка длинных (до 255 символов) имён файлов (англ. Long File Name, LFN) в кодировке UTF-16LE, при этом LFN хранятся одновременно с именами в формате 8.3, ретроспективно называемыми SFN (англ. Short File Name). LFN нечувствительны к регистру при поиске, однако, в отличие от SFN, которые хранятся в верхнем регистре, LFN сохраняют регистр символов, указанный при создании файла.

Структура системы FAT

В файловой системе FAT смежные секторы диска объединяются в единицы, называемые кластерами. Количество секторов в кластере может быть равно 1 или степени двойки (см. далее). Для хранения данных файла отводится целое число кластеров (минимум один), так что, например, если размер файла составляет 40 байт, а размер кластера 4 кбайт, реально занят информацией файла будет лишь 1% отведенного для него места. Для избежания подобных ситуаций целесообразно уменьшать размер кластеров, а для сокращения объема адресной информации и повышения скорости файловых операций – наоборот. На практике выбирают некоторый компромисс. Так как емкость диска вполне может и не выражаться целым числом кластеров, обычно в конце тома присутствуют т.н. surplus sectors – «остаток» размером менее кластера, который не может отводиться ОС для хранения информации.

Имена файлов в FAT

В файловой системе FAT использован традиционный формат имен 8.3, имена файлов должны состоять из символов ASCII. Имя файла или каталога должно состоять не более чем из 8 символов, затем следует разделитель «.» (точка) и расширение длиной до 3 символов. Первым символом имени должна быть буква или цифра. При определении имени можно использовать все символы за исключением перечисленных ниже.

. " / [ ] : ; | = ,

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

Указанные ниже имена зарезервированы.

CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL

Заголовок файловой системы FAT

Эта часть загрузочного сектора известна как BIOS Parameter Block (BPB) (блок параметров BIOS). Она содержит физические характеристики диска, которые MS-DOS и Windows используют при поиске определенного участка. Складывая или перемножая значения этих параметров, операционная система узнает, где находится таблица FAT, корневой каталог, где начинается и кончается область данных.

Ограничения

 

Максимальная длина имён файлов

Допустимые символы в названиях

Максимальная длина пути файла

Максимальный размер файла

Максимальный размер тома

FAT12

8+3 символов (255 байт для VFAT)

Любые символы ANSI (Unicode для VFAT), кроме NUL

Нет установленных ограничений.

Структурам не свойственны ограничения в пределах диска. Специфические драйверы файловых систем и операционные системы могут наложить собственные ограничения. MS DOS не поддерживает пути к файлам длиннее 260 байт для FAT12 и FAT16. Аналогичное ограничение в Windows NT 32767 байт для файловой системы NTFS.

32MiB

1MiB — 32MiB

FAT16

8+3 символов (255 байт для VFAT)

Любые символы ANSI (Unicode для VFAT), кроме NUL,

 

2GiB

16MiB — 2GiB

FAT32

255 байт

Любые символы Юникода, кроме NUL

 

4GiB

512MiB — 8TiB

Система FATX

Система FATX является слегка модифицированной версией FAT файловой системы, и предназначена для Microsoft 'S Xbox игровой консоли жесткого диска диск и карты памяти.

Xboxигровая приставка, разработанная и производившаяся компанией Microsoft. Впервые поступила в продажу 15 ноября2001 года. Это первое самостоятельное выступление компании Microsoft на рынке игровых приставок после совместного с компанией SEGA проекта по разработке версии операционной системыWindows CE для игровой приставки Dreamcast. Microsoft Xbox напрямую конкурировала с SonyPlayStation 2 и NintendoGameCube. Наследницей Xbox стала приставка Xbox 360.

Операционная система для игровой приставки Xbox — это очень сильно изменённая Windows 2000. Во время адаптирования к игровой приставке в Windows 2000 было изменено много кода, (в части, отвечающей за работу с файловыми системами), поэтому операционную систему этой игровой приставки нельзя назвать принадлежащей к линейке MicrosoftWindows. Специалисты называют её «Xbox OS».[2]

Xbox стала первой популярной игровой приставкой, содержащей в себе жёсткий диск, использующийся в основном для сохранения состояния игр и для файлов, загруженных с сервиса Xbox Live. Это сделало ненужным использование карт памяти. Большинство игр также использовали диск для кеширования временных данных, для ускорения загрузки игры. Некоторые игры также поддерживают такую функцию как «пользовательские саундтреки» — пользователь может установить в игре проигрывание своих музыкальных файлов, хранящихся на жёстком диске, вместо стандартных, встроенных в игру.

Хотя Xbox основан на ПК-архитектуре и работает под управлением урезанной версии ядра ОС Windows 2000, консоль имеет ряд отличий, в том числе оптимизацию под использование для игр, а также ограничения, внесённые для того чтобы пользователь не мог использовать приставку неразрешёнными способами. Такая же схема (ПК в качестве основы и урезанная Windows) была использована в развлекательной системе Tandy VIS

Следует отметить наличие различий между FATX и файловыми системами FAT16/FAT32 MS-DOS/Windows. FATX - Модифицированная версия FAT, используется в оригинальных игровых консолях Xbox. Операционная система для игровой приставки Xbox — это очень сильно изменённая Windows 2000. Во время адаптирования к игровой приставке в Windows 2000 было изменено много кода, (в части, отвечающей за работу с файловыми системами), поэтому операционную систему этой игровой приставки нельзя назвать принадлежащей к линейке Microsoft Windows.

Что касается FAT16 – это 16-битная файловая система используется для дисков малого объема в основном в MS-DOS или WINDOWS до 2000 версии.

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

Файловая система FAT состоит из блока начальной загрузки (или суперблок в жаргоне Unix), Таблица (ы) размещения файлов, записи каталога и фактические данные файла. Формат Таблицы размещения файлов и формат данных файла на диске фактически идентичны на FAT и FATX.

Блок начальной загрузки DOS частично определен расположением жесткого диска IBM PC (программа начальной загрузки, строка OEM...). У FATX есть совсем другой блок начальной загрузки. Фактические данные 18 байтов длиной, но полный блок начальной загрузки всегда занимает 4 Кбайта.

На Xbox размер кластера всегда устанавливается в 32 сектора (это составляет 16 Кбайт), и число FAT всегда 1.

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

VFAT — это расширение FAT, появившееся в Windows 95. В FAT имена файлов имеют формат 8.3 и состоят только из символов кодировки ASCII. В VFAT была добавлена поддержка длинных (до 255 символов) имён файлов (англ. Long File Name, LFN) в кодировке UTF-16LE, при этом LFN хранятся одновременно с именами в формате 8.3, ретроспективно называемыми SFN (англ. Short File Name). LFN нечувствительны к регистру при поиске, однако, в отличие от SFN, которые хранятся в верхнем регистре, LFN сохраняют регистр символов, указанный при создании файла

8.3 — нотация формата записи имени файла в некоторых файловых системах, подразумевающая использование восьми символов для имени файла и трёх символов для расширения. Традиционно использовалась в разработанных компанией Microsoft для MS-DOS файловых системах FAT12 и FAT16.

До появления расширений от Microsoft OS/2 и Unix-подобные операционные системы, в которых ограничения 8.3 не было, для совместимости между своими файловыми системами и программами для DOS использовали специальные расширения FAT.

С появлением VFAT и FAT32 в Microsoft Windows появилась «официальная» поддержка LFN («длинных имён файлов» — то есть длиннее, чем «8.3», и/или содержащих строчные и заглавные буквы) на FAT, позволявшая дать имени файла имя длиной до 255 символов и имевшая обратную совместимость с FAT12 и FAT16.

Некоторые старые программы для MS-DOS до сих пор не понимают «длинных» имён и отображают их в урезанном виде. При просмотре старыми файловыми менеджерами, например Norton Commander, Volkov Commander или оригинальными версиями DOS Navigator если используется LFN, то имя файла или каталог будет выглядеть как первые шесть символов и ~X, где Х — это цифра, порядковый номер имеющих одинаковое начало файлов или каталогов.

Windows 95 и 98 используют файловую систему VFAT, причем никакие числа при этом не упоминаются, то есть вы не встретите выражений типа VFAT 16 или VFAT 32.

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

Новая файловая система появилась давно, еще вместе с Windows 3.11, однако ее возможности тогда еще не были задействованы. Дело в том, что в этой файловой системе появилась поддержка длинных имен файлов: LFN, Long File Name. Имя файла, хранимого на разделе VFAT могло быть длиной до 256 символов (реально - меньше, полный путь к файлу включая все промежуточные папки должен быть не более 256 символов), правилом 8.3 модно не пользоваться! При этом для каждого длинного имени создавалось и дополнительно хранилось на диске и соответствующее короткое - из соображений совместимости. Такое короткое имя строиться по такому принципу: первые шесть знаков короткого имени соответствуют первым шести знаком длинного имени (если в длинном имени есть пробелы, то они пропускаются, в коротких именах нельзя использовать пробелы, в длинных - можно), затем славится знак "~", затем - цифра от 1 и далее по порядку.

Например, имя "My Documents" имеет короткую форму "mydocu~1", если при этом есть имя "My Documents - work", то его короткая форма - "mydocu~2". На разделах VFAT предусмотрено дополнительное место для хранения длинных имен, кроме этого VFAT хранит такое вот искусственное короткое имя для полной совместимости с оригинальной FAT.

Помимо поддержки длинных имен, Microsoft добавила поддержку разделов до 4 Гбайт, но такой возможность обычно не пользуются: указатель то но кластера остался 16-битным, следовательно достичь увеличения раздела можно только увеличивая размер кластера, и если раздел VFAT имеет размер более 2 Гбайт, то на нем применяются 64-Кбайтные кластера, что уже просто ОЧЕНЬ много.

Итого, практически для пользователя применение VFAT означает переход на использование длинных имен - файловая система FAT в принципе не может использовать длинные имена, для этого просто не выделено места на диске.

Фактически, пользователи персонального компьютера уже давно говоря FAT подразумевают именно VFAT, ведь уже начиная с Windows 95 поддержка длинных имен появляется в операционной системе. (хотя, повторю, в файловой системе поддержка длинных имен появилась раньше, еще во времена Windows 3.11). Кстати, вообще говоря, нет никакой файловой системы FAT16 - есть FAT и VFAT, указатель на кластеры у которых может быть как 16-и так и 12-и разрядным. Совершенно очевидно, что сегодня никто не пользуется оригинальной FAT - у нее нет поддержки длинных имен, а пользуются только VFAT, при этом обычно ее принято почему то называть FAT16 - очевидно, для того, чтобы противопоставить FAT32.

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

Преимущества файловой системы FAT

На компьютере под управлением Windows NT в любой из поддерживаемых файловых систем нельзя отменить удаление. Программа отмены удаления пытается напрямую обратиться к оборудованию, что невозможно при использовании Windows NT. Однако если файл находился в FAT-разделе, то, запустив компьютер в режиме MS-DOS, удаление файла можно отменить. Файловая система FAT лучше всего подходит для использования на дисках и разделах размером до 200 МБ, потому что она запускается с минимальными накладными расходами.

Недостатки файловой системы FAT

Как правило, не стоит использовать файловую систему FAT для дисков и разделов, чей размер больше 200 МБ. Это объясняется тем, что по мере увеличения размера тома производительность файловой системы FAT быстро падает. Для файлов, расположенных в разделах FAT, невозможно установить разрешения. Разделы FAT имеют ограничение по размеру: 4 ГБ под Windows NT и 2 ГБ под MS-DOS.

Рассмотрим области применимости файловых систем.

VFAT - файловая система, имеющая, казалось бы, сплошные недостатки. Во-первых - размер раздела всего до 4 Гбайт (Windows 9x поддерживает только 2 Гбайтные разделы VFAT). Может ли сегодня пользователя удовлетворить даже 4 Гбайтный раздел? Емкости сегодняшних жестких дисков 20-40 Гбайт: удобно ли пользователю делить свой диск на 10-20 разделов? Конечно - нет! Даже обычный пользователь не может использовать VFAT как единственную файловую систему, не говоря уже о требованиях, которые выдвигает сетевой сервер! Во-вторых, большой размер кластера. Совсем не удобно нести большие потери при хранении файлов: фактически на каждый хранимый на диске файл в среднем теряется около 16 Кбайт (при 2 Гбайтном разделе). На диске может быть и около 20 тысяч файлов - потери свободного места в таком случае составят около 300 Мбайт!

  • Кроме того, VFAT не имеет никаких механизмов восстановления от сбоев.

  • VFAT не обеспечивает защиты файлов.

Итого, можно сделать вывод: VFAT сегодня не удовлетворяет даже пользователя, не говоря уже о том, что VFAT не удовлетворяет потребностей серьезной серверной операционной системы. И VFAT нуждается в замене. Microsoft такую замену разработала - это системы FAT32 и NTFS, однако VFAT используется и в настоящее время.

У VFAT есть 2 основных преимущества перед конкурентами, и благодаря этим преимуществам VFAT до сих пор еще используется.

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

Во-вторых: VFAT, будучи полностью совместимой с оригинальной FAT сохранила и ее важнейшую особенность: VFAT поддерживается практически всеми операционными системами на РС! В частности и Windows 2000 поддерживая свою собственную файловую систему NTFS (о ней разговор впереди), поддерживает еще и VFAT. Операционные системы Windows 98 и Windows Me, поддерживая файловую систему FAT32 (о ней разговор тоже впереди), так же поддерживают VFAT. Именно поэтому, если пользователь хочет на одном компьютере пользоваться и Windows 2000 и Windows 9x, он должен отформатировать первичный активный раздел жесткого диска в файловой системе, совместимой и с Windows 2000 и с Windows 9x, т.е. отформатировать его с применением VFAT. Именно благодаря совместимости с любыми операционными системами (а так же малым накладным расходам) VFAT по прежнему еще применяется, хотя ей на смену пришли другие файловые системы: FAT32 и NTFS.

СПИСОК ЛИТЕРАТУРЫ

  1. http://chernykh.net/content/view/941/1023/

  2. http://zolotov.h14.ru/doc/os/fat.php

  3. http://pc-hard.ru/software/

  4. http://ru.wikipedia.org/wiki/Сравнение_файловых_систем

  5. Максимов Н. В., Попов И. И., Партыка Т. Л. Современные информационные технологии. — М. : Форум, 2008. — 512 с.

  6. http://hackipedia.org/Disk%20formats/File%20systems/FATX,%20File%20Allocation%20Table%20(X-Box)/Differences_between_Xbox_FATX_and_MS-DOS_FAT.htm

Просмотров работы: 11417