Файловая система vfat что это

В чем разница между vfat и FAT32 файловыми системами?

Я искал в сети но не мог найти убедительного ответа. Являются ли файловые системы VFAT и FAT32 одинаковыми или между ними есть какие-либо различия?

1 ответ:

что такое жир?

FAT может звучать как странное имя для файловой системы, но на самом деле это аббревиатура для таблицы распределения файлов. Введенный в 1981 году, жир является древним в компьютерных терминах. Из-за своего возраста большинство операционных систем, включая Microsoft Windows NT®, Windows 98, Macintosh OS и некоторые версии UNIX, предлагают поддержку FAT.

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

как насчет VFAT?

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

при создании длинного имени файла (длиннее 8.3) с помощью VFAT файловая система фактически создает два разных имени файлов. Один из них-это фактическое длинное имя файла. Это имя отображается в Windows 95, Windows 98 и Windows NT (4.0 и более поздние версии). Второе имя файла называется псевдонимом MS-DOS®. Псевдоним MS-DOS-это сокращенная форма длинного имени файла. Файловая система создает псевдоним MS-DOS, беря первые шесть символов длинного имени файла (не считая пробелов), а затем тильду [

] и числовой трейлер. Например, имя файла документа Бриена.txt будет иметь псевдоним BRIEN ‘

интересный побочный эффект возникает в результате того, как VFAT хранит свои длинные имена файлов. Когда вы создаете длинное имя файла с помощью VFAT, он использует одну запись каталога для псевдонима MS-DOS и другую запись для каждых 13 символов длинного имени файла. Теоретически одно длинное имя файла может занимать до 21 записи каталога. Корневой каталог имеет ограничение в 512 файлов, но если бы вы использовали максимальную длину длинных имен файлов в корневом каталоге, вы могли бы сократить это ограничение до 24 файлов. Поэтому вы должны использовать длинные имена файлов очень экономно в корневом каталоге. Другой каталог не влияют на этот предел.

Вам может быть интересно, почему мы обсуждаем VFAT. Причина в том, что он становится более распространенным, чем жир, но помимо различий, о которых я упоминал выше, VFAT имеет те же ограничения. Когда вы говорите в Windows NT, чтобы отформатировать раздел, как жировой, это на самом деле форматирование раздела, что и vfat. Единственный раз, когда у вас будет настоящий раздел FAT под Windows NT 4.0, это когда вы используете другую операционную систему, такую как MS-DOS, для форматирования раздела.

FAT32

FAT32 фактически расширение сала и VFAT, сперва введенное с отпуском 2 обслуживания OEM Windows 95 (OSR2). FAT32 значительно улучшает файловую систему VFAT, но у него есть свои недостатки.

самым большим преимуществом FAT32 является то, что он значительно увеличивает объем свободного места на жестком диске. Чтобы проиллюстрировать этот момент, рассмотрим, что раздел FAT (также известный как раздел FAT16) допускает только определенное количество кластеров на раздел. Поэтому при увеличении размера раздела размер кластера также должен увеличиваться. Например, раздел FAT размером 512 МБ имеет размер кластера 8K, а раздел 2 ГБ имеет размер кластера 32K.

Это может не звучать как большое дело, пока вы не считаете, что файловая система FAT работает только с одним шагом кластера. Например, на 2-гигабайтном разделе 1-байтовый файл будет занимать весь кластер, тем самым потребляя 32K, или примерно в 32 000 раз больше места, чем файл должны потреблять. Это правило применяется к каждому файлу на жестком диске, так что вы можете увидеть, сколько места может быть потрачено впустую.

Преобразование раздела в FAT32 уменьшает размер кластера (и преодолевает ограничение размера раздела 2 ГБ). Для разделов 8 ГБ и меньший размер кластера сводится к простому 4К. Как вы можете себе представить, это не редкость, чтобы получить обратно сотни мегабайт путем преобразования раздела в FAT32, особенно если раздел содержит множество мелких файлов.

Примечание: этот раздел цитаты / статьи (1999) устарел. Обновленная информация цитата ниже.

как я уже упоминал, FAT32 имеет ограничения. К сожалению, он не совместим с любой операционной системой, кроме Windows 98 и OSR2 версии Windows 95. Тем не менее, Windows 2000 смогут прочесть разделы FAT32.

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

наконец, я должен упомянуть, что преобразование в FAT32 является односторонним процессом. После преобразования в FAT32, вы не можете преобразовать раздел обратно в FAT16. Поэтому перед преобразованием в FAT32 необходимо решить, будет ли компьютер когда-либо использоваться в среде с двойной загрузкой. Я также должен отметить, что хотя другие операционные системы, такие как Windows NT, не могут напрямую читать раздел FAT32, они могут читать его по сети. Таким образом это не проблема для обмена информацией, хранящейся в разделе FAT32 с другими компьютерами в сети, которые работают под управлением старых операционных систем.

Обновлено упомянуто в комментарии Доктор-J (ассимилируется для обновления устаревшего ответа в случае, если комментарий когда-либо будет потерян):

Я просто хотел отметить, что большинство современных операционных систем (WinXP/Vista/7 / 8, MacOS X, большинство, если не все варианты Linux) могут читать FAT32, вопреки тому, что предлагает предпоследний абзац.

оригинальная статья была написана в 1999 году и размещена на веб-сайте Microsoft, вероятно, не была связана с операционными системами не Microsoft в любом случае.

операционные системы, «исключенные» этим пунктом, вероятно, являются оригинальными Windows 95, Windows NT 4.0, Windows 3.1, DOS, так далее.

Источник

VFAT и FAT32

Дата добавления: 2015-07-09 ; просмотров: 2739 ; Нарушение авторских прав

Файловая система VFAT впервые появилась в Windows NT, а широкое распространение получила после выхода Windows 95: это усовершенствованная версия FAT, в которой разрешены длинные имена файлов. FAT32, введенная в Windows 95 OSR2 и поддерживаемая в Windows 98, отличается от VFAT лишь количественными параметрами: она допускает меньший размер кластеров и больший размер дисков, не ограничивает число файлов в корневом каталоге и т. д. Поэтому в Linux работа с VFAT и FAT32 происходит совершенно одинаково; для FAT32 нет даже отдельного драйвера. С этим связан забавный момент: RedHat Linux 5.1 поддерживает FAT32, но единственный способ узнать об этом — попытаться смонтировать соответствующий раздел и убедиться, что он монтируется. В документации FAT32 не упоминается.

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

Далее, если в VFAT дать файлу имя, удовлетворяющее ограничениям FAT и состоящее из символов стандартного набора ASCII, то Windows 95 и NT будут считать, что он имеет только короткое имя. При этом с точки зрения Windows 95 такое имя будет состоять только из больших букв, а с точки зрения Windows NT — только из маленьких. Linux здесь выбирает строну NT (по историческим причинам). В большинстве случаев все это не имеет значения; сложности возникают лишь при работе с программой установки RedHat Linux и ее производными, которые отличаются повышенной чувствительностью к названиям каталогов с исходными файлами.

И, наконец, длинные имена файлов записываются в кодировке Unicode. Поэтому при монтировании разделов с VFAT необходимо задавать правила их преобразования, что делается с помощью параметра iocharset; обычно указывают iocharset=koi8-r. Если длинное имя содержит символы, не имеющие соответствия в текущем iocharset, к файлу обратиться невозможно. Чтобы получить доступ ко всем файлам, нужно вместо iocharset указать uni_xlate= true или utf8= true.

Набор символов для коротких имен задается параметром codepage. Когда Windows настроена на русский язык, для коротких имен применяется CP 866 (кодировка DOS), поэтому следует указать codepage=cp866.

NTFS

О работе с NTFS, к сожалению, можно сказать мало утешительного. Это исключительно сложная и гибкая файловая система, а открытая документация по ней практически отсутствует. Два названных свойства и определяют границы поддержки NTFS в Linux. Обеспечивается работа с версиями вплоть до NTFS4 (Windows NT 4.0). Версия же NTFS5 (Windows 2000) не поддерживается, и неизвестно, когда появится ее поддержка. Даже для тех версий, с которыми Linux работает, доступ предоставляется только к основной секции файла: в NTFS файл может иметь произвольное число секций, аналогичных «вилкам» (forks) MacOS (но в MacOS у каждого файла ровно две секции — «вилка данных» и «вилка ресурсов»). А запись в раздел NTFS возможна только в особом экспериментальном режиме, перед включением которого рекомендуется подготовиться к восстановлению диска после полной потери данных, — и это не просто громкое предупреждение. Вся система прав доступа NTFS в Linux игнорируется, и доступ к файлам регулируется так же, как для FAT. Правда, если указать параметр posix=yes, можно будет увидеть все имена файлов — и короткие, и длинные. Заодно это позволит увидеть файлы с именами, отличающимися только регистром символов. В Windows NT есть подсистема POSIX, внутри которой различаются большие и маленькие буквы, есть возможность создавать жесткие ссылки и т. д. Она иногда используется при переносе программ из Unix в Windows NT. В Linux поддерживается еще много файловых систем (HFS, HPFS и др.), но они реже встречаются на практике. Сетевые файловые системы — coda, smbfs, nсpfs и nfs. Ниже приведены характеристики и особенности некоторых современных файловых систем, поддерживаемых Linux.

Таблица 1. Некоторые современные файловые системы

Таблица 2. Особенности современных файловых систем

Источник

Файловая система vfat что это

Системы управления файлами.

1. Области логического диска

2. Загрузочный сектор

3. Таблица размещения файлов

4. Корневой каталог

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

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

В файловой системе FAT дисковое пространство любого логического диска делится на две области:

· системную область и

Системная область создается и инициализируется при форматировании, а впоследствии обновляется при манипулировании файловой структурой.

Системная область состоит из следующих компонентов:

· загрузочного сектора, содержащего загрузочную запись (boot record) ;

· зарезервированных секторов (их может и не быть);

· таблицы размещения файлов (FAT, File Allocation Table) ;

Эти компоненты расположены на диске друг за другом.

Область данных содержит файлы каталоги, подчиненные корневому.

Загрузочная запись состоит из двух частей:

· программы начальной загрузки ОС ( system bootstrap).

Блок параметров диска содержит следующую информацию

· число секторов в кластере,

· число зарезервированных секторов,

· число секторов на дорожке,

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

Загрузочные записи различных операционных систем отличаются обычно структурой блока параметров. В некоторых есть и дополнительные поля.

Подробно мы познакомимся с загрузочной записью на лабораторных работах.

Таблица размещения файлов

Разбиение области данных на кластеры вместо использования секторов позволяет:

· уменьшить размер таблицы FAT ;

· уменьшить фрагментацию файлов;

· сокращается длина цепочек файла Þ ускоряется доступ к файлу.

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

В современных файловых системах ( FAT32, HPFS, NTFS) эта проблема решается за счет ограничения размера кластера (максимум 4 Кбайта)

Каждый элемент таблицы FAT (12, 16 или 32 бит) соответствует одному кластеру диска и характеризует его состояние: свободен, занят или является сбойным кластером (bad cluster).

· Если кластер распределен какому-либо файлу (т.е., занят), то соответствующий элемент FAT содержит номер следующего кластера файла;

· если кластер является свободным, он содержит нулевое значение 000h (0000h);

· кластер, непригодный для использования (сбойный), отмечается числом FF7h (FFF7h).

Таким образом, в таблице FAT кластеры, принадлежащие одному файлу связываются в цепочки.

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

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

В связи с тем, что FAT используется очень интенсивно при доступе к диску, она обычно загружается в ОП (в буфера ввода / вывода или кэш) и остается там настолько долго, насколько это возможно.

Корневой каталог ROOT

Корневой каталог описывает файлы и другие каталоги. Элементом каталога является дескриптор (описатель) файла.

Дескриптор каждого файла и каталога включает его

· дату создания или последней модификации (2)

· время создания или последней модификации (2)

· атрибуты (1) (архивный, атрибут каталога, атрибут тома, системный, скрытый, только для чтения)

· зарезервированное поле, которое не используется (10)

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

Итак, пользователь запускает файл на выполнение. Операционная система ищет файл с нужным именем, просматривая описания файлов в текущем каталоге. Когда найден требуемый элемент в текущем каталоге, операционная система считывает номер первого кластера данного файла, а затем по таблице FAT определяет остальные номера кластеров. Данные из этих кластеров считываются в оперативную память, объединяясь в один непрерывный участок. Операционная система передает управление файлу, и программа начинает работать.

Корпорация Microsoft рекомендует использовать FAT для разделов объемом 256 Мбайт и ме­нее.

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

Файловая система VFAT (виртуальная FAT ) впервые появилась в Windows for Workgroups 3.11 и была предназначена для файлового ввода / вывода в защищенном режиме.

Используется эта файловая система в Windows 95. Поддерживается она также и в Windows NT 4.

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

Существует специальный механизм преобразования длинных имен в короткие и наоборот.

“ (тильда) и порядковый номер. Для трехбуквенного расширения используются первые три символа после последней точки в длинном имени файла.

Например, короткие имена для файлов (в следующем порядке)

Article about Windows 95.DOS

Next article about Windows 95.DOS

Article about Windows NT.DOS

Microsoft Windows. HTML

будут выглядеть так

При этом в структуре ROOT, наряду с обычным дескриптором (называемым алиасным) для файла или каталога создаются дескрипторы специального вида, в которых и хранится длинное имя. Для специальных дескрипторов установлены атрибуты Read Only (только для чтения), System (системный), Hidden (скрытый), Volume Label (Метка Тома). Количество специальных дескрипторов зависит от длины имени.

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

Для томов VFAT нельзя пользоваться никакими утилитами, кроме утилит «понимающих» VFAT

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

Впервые использовалась в Windows OSR2 (OEM Service Release 2).

2. Имеет расширенную загрузочную запись, которая позволяет создавать копии критических структур данных Þ повышает устойчивость диска к нарушениям структур диска

3. Может использовать резервную копию FAT вместо стандартной.

4. Может перемещать корневой каталог, другими словами, корневой каталог может находиться в произвольном месте Þ снимает ограничение на размер корневого каталога (512 элементов, т.к. ROOT должен был занимать один кластер).

5. Усовершенствована структура корневого каталога

Появились дополнительные поля:

· дата последнего доступа (2)

· старшее слово номера начального кластера

· младшее слово номера начального кластера

По-прежнему для длинного имени файла используется несколько дескрипторов.

Для томов FAT32 нельзя пользоваться никакими утилитами, кроме утилит «понимающих» FAT32

Источник

В чем разница между и vfat и FAT32?

я поискал в сети, но не нашел убедительного ответа. Являются ли файловые системы VFAT и FAT32 одинаковыми или между ними есть какие-либо различия?

1 ответов

что такое жир?

FAT может показаться странным именем для файловой системы, но на самом деле это аббревиатура таблицы распределения файлов. Введенный в 1981 году, жир является древним в компьютерных терминах. Из-за своего возраста большинство операционных систем, включая Microsoft Windows NT®, Windows 98, Macintosh OS и некоторые версии UNIX, поддерживают FAT.

файловая система FAT ограничивает имена файлов соглашением об именах 8.3, что означает, что имя файла может иметь не более восьми символов до периода и не более трех после. Имена файлов в файловой системе FAT также должны начинаться с буквы или цифры, и они не могут содержать пробелы. Имена файлов не учитывают регистр.

как насчет VFAT?

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

когда вы создаете длинное имя файла (длиннее 8.3) с VFAT, файловая система фактически создает два разных имени файла. Один-это фактическое длинное имя файла. Это имя отображается в Windows 95, Windows 98 и Windows NT (4.0 и более поздние версии). Второе имя файла называется псевдонимом MS-DOS®. Псевдоним MS-DOS-это сокращенная форма длинного имени файла. Файловая система создает псевдоним MS-DOS, принимая первые шесть символов длинного имени файла (не считая пробелов), за которым следует Тильда [

] и числовой трейлер. Например, имя файла документа Brien.txt будет иметь псевдоним BRIEN ‘

интересный побочный эффект возникает из-за того, как VFAT хранит свои длинные имена файлов. Когда вы создаете длинное имя файла с VFAT, он использует одну запись каталога для псевдонима MS-DOS и другую запись для каждых 13 символов длинного имени файла. Теоретически одно длинное имя файла может занимать до 21 записи в каталоге. Корневой каталог имеет ограничение в 512 файлов, но если бы вы использовали максимальную длину длинных имен файлов в корневом каталоге, вы могли бы сократить это ограничение до 24 файлов. Поэтому вы должны использовать длинные имена файлов очень экономно в корневом каталоге. Другой каталог не затронуты этим пределом.

вам может быть интересно, почему мы обсуждаем VFAT. Причина в том, что он становится более распространенным, чем жир, но помимо различий, о которых я упоминал выше, VFAT имеет те же ограничения. Когда вы говорите Windows NT форматировать раздел как FAT, он фактически форматирует раздел как VFAT. Истинный раздел FAT В Windows NT 4.0 можно создать только при использовании другой операционной системы, например MS-DOS, для форматирования раздела.

файловая система FAT32

FAT32 на самом деле является расширением FAT и VFAT, впервые представлен с Windows 95 OEM Service Release 2 (OSR2). FAT32 значительно улучшает файловую систему VFAT, но имеет свои недостатки.

самым большим преимуществом FAT32 является то, что он значительно увеличивает объем свободного места на жестком диске. Чтобы проиллюстрировать этот момент, рассмотрим, что раздел FAT (также известный как раздел FAT16) позволяет только определенное количество кластеров на раздел. Поэтому по мере увеличения размера раздела размер кластера также должен увеличиваться. Например, раздел FAT объемом 512 МБ имеет размер кластера 8K, а раздел 2 ГБ-размер кластера 32K.

Это не может показаться большим делом, пока вы не считаете, что файловая система FAT работает только с шагом одного кластера. Например, на 2-ГБ разделе 1-байтовый файл будет занимать весь кластер, тем самым потребляя 32K, или примерно в 32 000 раз больше места, чем файл должны потреблять. Это правило применяется к каждому файлу на жестком диске, поэтому вы можете увидеть, сколько места может быть потрачено впустую.

Преобразование раздела в FAT32 уменьшает размер кластера (и преодолевает ограничение размера раздела 2 ГБ). Для разделов 8 ГБ и меньше размер кластера уменьшается до 4K. Как вы можете себе представить, это не редкость, чтобы получить обратно сотни мегабайт путем преобразования раздела в FAT32, особенно если раздел содержит много небольших файлов.

Примечание: этот раздел цитаты / статьи (1999) устарел. Обновленная информация цитата ниже.

как я уже упоминал, FAT32 имеет ограничения. К сожалению, он не совместим ни с одной операционной системой, кроме Windows 98 и OSR2 версии Windows 95. Однако Windows 2000 сможет читать разделы FAT32.

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

наконец, я должен упомянуть, что преобразование в FAT32 является односторонним процессом. После преобразования в FAT32 вы не сможете преобразовать раздел обратно в FAT16. Поэтому перед преобразованием в FAT32 необходимо рассмотреть, будет ли компьютер когда-либо использоваться в среде с двойной загрузкой. Я должен также отметить, что, хотя другие операционные системы, такие как Windows NT, не могут напрямую читать раздел FAT32, они могут читать его по сети. Поэтому нет проблем в обмене информацией, хранящейся в разделе FAT32, с другими компьютерами в сети, на которых работают более старые операционные системы.

Обновлено, упомянутое в комментарии Доктор-J (ассимилируется для обновления устаревшего ответа в случае, если комментарий когда-либо потерян):

Я просто хотел отметить, что большинство современных операционных систем (WinXP/Vista/7 / 8, MacOS X, большинство, если не все варианты Linux) могут читать FAT32, вопреки тому, что предлагает предпоследний абзац.

оригинальная статья была написана в 1999 году и размещена на веб-сайте Microsoft, вероятно, не была связана с операционными системами, не относящимися к Microsoft.

операционные системы, «исключенные» этим абзацем, вероятно, являются оригинальными Windows 95, Windows NT 4.0, Windows 3.1, DOS, так далее.

Источник

Файловые системы 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, Windows 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 latency) – задержка между установкой головки чтения/записи на нужную дорожку диска и началом чтения данных с диска). Можно сказать, что файловая система 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

Статьи к прочтению:

VFAT 2017 Trailer

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *