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

Обновлено: 04.07.2024

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

  • загрузочные секторы главного и дополнительных разделов ;
  • загрузочные секторы логических дисков (разделов);
  • корневой каталог;
  • область данных;
  • цилиндр для выполнения диагностических операций чтения-записи.

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

Загрузочный сектор главного раздела (называемый главной загрузочной записью – Master Boot Record – MBR ) является первым сектором на жестком диске (цилиндр 0, головка 0, сектор 1) и состоит из двух элементов [10]:

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

Загрузочный сектор раздела содержит:

  • блок параметров диска, в котором содержится информация о разделе (размер, количество секторов, размер кластера , метка тома и др.);
  • загрузочный код – программу, с которой начинается процесс загрузки операционной системы (для Ms-Dos и Windows 9x – файл Io.sys).

Загрузочные секторы логических дисков создаются программой Format . Они похожи на загрузочные диски разделов. Однако при загрузке выполняется код только того сектора, который находится в активном разделе.

Логический диск , отформатированный программой Fdisk, состоит из следующих областей (рис. 7.20):

  • загрузочный сектор;
  • основная FAT-таблица, содержащая информацию о размещении файлов и каталогов на диске;
  • копия FAT-таблицы;
  • корневой каталог – фиксированная область (16 Кбайт для жесткого диска), позволяющая хранить 512 записей о файлах и каталогах (каждая запись состоит из 32 байтов);
  • область данных для размещения всех файлов и каталогов, кроме корневого каталога.

Первые две записи FAT зарезервированы и содержат информацию о самой FAT , все остальные указывают на соответствующие кластеры диска. Индексный указатель принимает значение , характеризующее состояние связанного с ним кластера (для FAT 16):

  • кластер свободен (0000h);
  • кластер используется (любое значение, кроме специальных);
  • последний кластер файла (FFF8h – FFFFh);
  • кластер поврежден (FFF7h);
  • резервный кластер (FFF6h).

FAT-система

Размер FAT -таблицы определяется количеством кластера. Разрядность индексного указателя FAT -таблицы должна быть такой, чтобы можно было задать максимальный номер кластера диска определенного объема. В соответствии с разрядностью дискового указателя существуют несколько разновидностей FAT : FAT12, FAT16 , FAT32 (соответственно 2 12 , 2 16 и 2 32 кластеров). Тип используемой FAT определяется программой Fdisk, хотя и записываются они в процессе форматирования высокого уровня программы Format . На всех дискетах применяется FAT 12, на жестких дисках до 512 Мбайт – FAT16 , на жестких дисках, имеющих большую емкость при использовании Windows 95 OSR2 и Windows98 – FAT 32 (вообще размер кластера может быть от 1 до 128 секторов или от 512 байт до 64 Кбайт). Максимальный размер раздела FAT16 ограничен объемом 4 Гбайт (2 16 = 65536 кластеров по 64 Кбайт). Максимальный размер раздела FAT 32 практически не ограничен (232 кластеров по 32 Кбайт).

За копией FAT -таблицы следует корневой каталог – база данных , содержащая информацию о записанных на диске данных. Каждая запись в ней имеет длину 32 байта и содержит всю информацию о файле, которой располагает операционная система . Формат записи приведен ниже.

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

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

Пример размещения двух файлов

Файловые системы FAT 12 и FAT16 оперируют с именами файлов, составленных по схеме 8.3 (имя, расширение). В Windows 95 с появлением 32-разрядной виртуальной FAT - VFAT ( Virtual file allocation table ) поддерживаются имена длиной 255 символов (заметим, что изменился лишь программный код, поддерживающий FAT16 , он стал 32-м). Для обеспечения обратной совместимости ОС создает его псевдоним , удовлетворяющий стандарту 8.3. Делается это следующим образом.

  1. Первые 3 символа после последней точки в длинном имени файла становятся расширением псевдонима.
  2. Первые шесть символов длинного имени файла, за исключением пробелов, которые игнорируются, преобразуются в символы верхнего регистра и становятся шестью символами стандартного имени файла. Недопустимые символы (+ , ; = [28] ), которые могут использоваться в Windows 95, преобразуются в символы подчеркивания.
  3. Добавляются символы

Если первые шесть символов нескольких файлов одни и те же, то добавляются символы

VFAT хранит псевдонимы длинных имен в поле стандартных имен файлов записи каталога файла. Таким образом, все версии DOS и Windows могут получить доступ к файлу под длинным именем с помощью его псевдонима. Остается проблема: как хранить 255 символов имени файлов 32 байт записи каталога? Разработчики файловой системы решили эту проблему следующим образом: были добавлены дополнительные записи каталога для хранения длинных имен файлов. Чтобы предыдущие версии не повредили эти дополнительные записи каталога, VFAT устанавливает для них атрибуты, которые нельзя использовать для обычного файла: только для чтения, скрытый, системный и метка тома. Такие атрибуты DOS игнорирует, а следовательно, длинные имена файлов остаются нетронутыми. Подобным же образом решается проблема длинных имен в Windows NT/2000/2003/XP, применяющих для хранения имен двухбайтовый формат на каждый символ – Unicode.

Как уже отмечалось, выбор типа FAT -системы во многом определяется емкостью жесткого диска. При использовании FAT16 нельзя создать раздел емкостью более 2-х Гбайт. Для устранения этого ограничения фирма Microsoft разработала FAT 32. Она работает как FAT 16, но имеет отличие в организации хранения данных. Кроме того, FAT 32 можно установить с помощью программы Fdisk. Впервые FAT 32 была реализована в Windows 95 OEM Service Release 2 (OSR2). Она встроена и в Windows 98/Ме/NT/2000.

Основное преимущество FAT 32 – возможность использования 32-разрядных записей вместо 16-разрядных, что приводит к увеличению кластеров (вместо 216=65536) до 268 435 456 в разделе. Это значение в Windows 95 OSR2 эквивалентно 2 28 , а не 2 32 , поскольку 4 бита из 32 зарезервированы для других целей.

При работе в FAT 32 размер раздела может достигать 2 Tбайт при кластере размером 8, 16 или 32 Кбайт. Новая файловая система может иметь 232 кластеров размером 512 байт , а размер единичного файла может составить 4 Гбайт. Реально FAT 32 поддерживает максимальный размер тома до 32 Гбайт. Это связано с тем, что в Windows 2000 это ограничение обусловлено программой Format . Вообще максимально возможный том – 2 Tбайт при кластере 32 Кбайт.

Существует важное отличие FAT 32 от ее предшественниц – положение корневого каталога: он может располагаться в любом месте раздела и иметь любой раздел. Это обеспечивает динамическое изменение размера раздела. Независимые разработчики использовали это свойство. Так, фирма Power- Quest создала программу Partion Magic, позволяющую переопределять разделы после их создания.

Файловая система FAT 32 также использует преимущество двух копий FAT . Как и в FAT 16, в FAT 32 первая копия является основной и периодически копирует данные в дополнительную копию FAT . При проблемах с главной копией FAT системы переключаются в дополнительную копию, которая становится главной.

Примечание: программа Fdisk автоматически определяет размер кластера на основе выбранной файловой системы и размерам раздела. Однако существует недокументированный параметр команды Format , позволяющий явно указать размер кластера : Format /z:n, где n – размер кластера в байтах, кратный 512.

Файловые системы FAT все еще часто встречаются на дискетах, вспышка и другие твердое состояние карты памяти и модули (в том числе USB-накопители), а также многие портативные и встраиваемые устройства. FAT - это стандартная файловая система для цифровые фотоаппараты согласно Спецификация DCF.

Содержание

Обзор

Концепции

Файловая система использует индексную таблицу, хранящуюся на устройстве, для идентификации цепочек областей хранения данных, связанных с файлом, Таблица размещения файлов (ЖИР). FAT статически выделяется во время форматирования. Стол - это связанный список записей для каждого кластер, непрерывная область дискового хранилища. Каждая запись содержит либо номер следующего кластера в файле, либо маркер, указывающий конец файла, неиспользуемое дисковое пространство или специальные зарезервированные области на диске. В корневая директория диска содержит номер первого кластера каждого файла в этом каталоге. Затем операционная система может пройти через FAT, найдя номер кластера каждой последующей части файла на диске как цепочка кластеров пока не будет достигнут конец файла. Поддиректории реализованы в виде специальных файлов, содержащих записи каталога соответствующих файлов.

Каждая запись в связанном списке FAT представляет собой фиксированное количество битов: 12, 16 или 32. Максимальный размер файла или диска, к которому можно получить доступ, является произведением наибольшего числа, которое может быть сохранено в записях (меньше несколько значений, зарезервированных для обозначения нераспределенного пространства или конца списка) и размера дискового кластера. Даже если для расширения файла необходим только один байт памяти, ему должен быть выделен весь кластер, поэтому большие кластеры тратят много места на диске, если имеется большое количество небольших файлов.

Использует

Файловая система FAT используется с 1977 года для компьютеров и часто используется во встроенных системах. Совместимые файловые системы упрощают обмен данными, например, между настольными компьютерами и портативными устройствами. Файловые системы FAT используются по умолчанию для съемных носителей, таких как дискеты, супер-дискеты, объем памяти и флэш-память карты или USB-накопители. FAT поддерживается портативными устройствами, такими как КПК, цифровые фотоаппараты, видеокамеры, медиаплееры, и мобильные телефоны. В то время как FAT12 используется на дискетах, FAT16 и FAT32 обычно встречаются на более крупных носителях.

FAT также использовался на жесткие диски на протяжении ДОС и Windows 9x эпох. Microsoft представила новую файловую систему, NTFS, с Windows NT платформы в 1993 году, но FAT оставалась стандартом для домашнего пользователя до появления NT-based Windows XP в 2001 году. FAT по-прежнему используется на жестких дисках, которые, как ожидается, будут использоваться несколькими операционными системами, например, в общих Windows, GNU/Linux и среды DOS.

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

Номенклатура

«Файловая система FAT» означает, FAT12, FAT16 и FAT32. Утилиты операционной системы могут не определять, какая версия будет использоваться для форматирования устройства.

"FAT16"относится как к исходной группе файловых систем FAT с записями кластера шириной 16 бит, так и к более поздним вариантам ("FAT16B") с записями 32-битных секторов. Значения, хранящиеся в блоке параметров диска, могут использоваться для идентификации файловой структуры.

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

FAT12

Все управляющие структуры помещаются внутри первой дорожки, чтобы избежать движения головы во время операций чтения и записи. Любой поврежденный сектор в области управляющих структур сделает диск непригодным для использования. Инструмент форматирования DOS полностью отклонил такие диски. Плохие сектора допускались только в области данных файла. Кластеры, содержащие сбойные сектора, были помечены как непригодные для использования зарезервированным значением 0xFF7 .

Записи каталогов 86-DOS 1.00 и PC DOS 1.0 включали только одну дату - дату последнего изменения. PC DOS 1.1 добавил время последнего изменения. ПК DOS 1.x атрибуты файла включены скрытый бит и системный бит, а остальные шесть битов не определены. В то время DOS не поддерживала подкаталоги, но обычно на дискете было всего несколько десятков файлов.

В PC XT был первым ПК с жестким диском от IBM, и ПК DOS 2.0 поддерживал этот жесткий диск с FAT12 (FAT ID 0xF8 ). Фиксированное предположение о 8 секторах на кластер на жестких дисках практически ограничивало максимальный размер раздела до 16 МБ для 512-байтовых секторов и кластеров 4 КиБ.

MS-DOS 3.0 добавлена ​​поддержка 5.25-дюймовых дискет высокой плотности 1,2 МиБ (дескриптор носителя 0xF9 ), у которого было 15 секторов на дорожку, следовательно, больше места для файлов FAT.

FAT12 продолжает использоваться на всех распространенных дискеты, включая диски 1,44 МБ и более поздние версии 2,88 МБ (байт дескриптора носителя 0xF0 ).

Исходный FAT16

Логический секторный FAT

Другие поставщики работали над ограничениями размера тома, налагаемыми записями 16-битного сектора, увеличивая видимую размер секторов файловой системы. Эти логические секторы были больше (до 8192 байт), чем физический сектор размер (все еще 512 байт) на диске. Затем DOS-BIOS или системный BIOS объединят несколько физических секторов в логические, с которыми файловая система будет работать.

Эти изменения были прозрачны для реализации файловой системы в ядре DOS. Базовый DOS-BIOS преобразовал эти логические сектора в физические сектора в соответствии с информацией о разделах и физической геометрией диска.

Финальная FAT16

Если разделы, которые будут использоваться выпусками DOS до DOS 3.31, должны быть созданы современными инструментами, единственными критериями, которые теоретически необходимо удовлетворить, является количество секторов менее 65536 и использование старого идентификатора раздела ( 0x04 ). Однако на практике введите 0x01 и 0x04 первичные разделы не должны физически располагаться за пределами первых 32 МиБ диска из-за других ограничений в MS-DOS 2.x, которые иначе не справились бы с ними.

Гораздо позже, Windows NT увеличил максимальный размер кластера до 64 КиБ, считая количество секторов на кластер беззнаковым. Однако полученный формат не был совместим с какой-либо другой реализацией FAT того времени, и он давал больше внутренняя фрагментация. Windows 98, SE и ME также поддерживали чтение и запись этого варианта, но его дисковые утилиты с ним не работали, а некоторые FCB услуги недоступны для таких объемов. Это способствует запутанной ситуации совместимости.

FAT32

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

Развитие

FAT32 была представлена ​​в MS-DOS 7.1 / Windows 95 OSR2 в 1996 году, хотя для ее использования потребовалось переформатирование и DriveSpace 3 (версия, поставляемая с Windows 95 OSR2 и Windows 98) никогда не поддерживала его. Windows 98 представила утилиту для преобразования существующих жестких дисков из FAT16 в FAT32 без потери данных.

Расширения

Расширенные атрибуты

Windows 2000 onward действует точно так же, как Windows NT, за исключением того, что он игнорирует EAs при копировании в FAT32 без какого-либо предупреждения (но показывает предупреждение для других ADS, таких как «Macintosh Finder Info» и «Macintosh Resource Fork»).

Cygwin использует " EA␠DATA.␠SF "файлы.

Длинные имена файлов

Один из Пользовательский опыт цели для дизайнеров Windows 95 была возможность использовать длинные имена файлов (LFN - до 255 UTF-16 кодовые единицы длинная), [nb 1] в дополнение к классическому 8.3 имена файлов (SFN). Для назад и прямая совместимость LFN были реализованы как дополнительное расширение поверх существующих структур файловой системы FAT с использованием обходной путь в способе размещения записей в каталоге.

Этот прозрачный метод хранения длинных имен файлов в существующих файловых системах FAT без изменения их структур данных обычно известен как VFAT (для "Virtual FAT") после Windows 95 драйвер виртуального устройства. [№ 5]

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

В Windows NT поддержка длинных имен файлов VFAT началась с версии 3.5.

Linux предоставляет драйвер файловой системы VFAT для работы с томами FAT с длинными именами файлов VFAT. Некоторое время UVFAT был доступен драйвер для обеспечения комбинированной поддержки UMSDOS-стиль разрешения с длинными именами файлов VFAT.

OS / 2 добавлена ​​поддержка длинных файлов в FAT с использованием расширенные атрибуты (EA) до введения VFAT. Таким образом, длинные имена файлов VFAT невидимы для OS / 2, а длинные имена файлов EA невидимы для Windows; поэтому опытным пользователям обеих операционных систем придется вручную переименовывать файлы.

Человек68K поддерживается до 18.3 имена файлов и (Shift JIS) Кандзи символы в собственном варианте файловой системы FAT.

Вилки и альтернативные потоки данных

Сама файловая система FAT не предназначена для поддержки Альтернативные потоки данных (ОБЪЯВЛЕНИЯ), но некоторые операционные системы, которые сильно от них зависят, разработали различные методы работы с ними на томах FAT. Такие методы либо хранят дополнительную информацию в дополнительных файлах и каталогах (классическая Mac OS и macOS) или придать новую семантику ранее неиспользованным полям структур данных FAT на диске (OS / 2 и Windows NT).

Mac OS с использованием Обмен ПК хранит свои различные даты, атрибуты файлов и длинные имена файлов в скрытый файл называется " FINDER.DAT ", и вилки ресурсов (обычный ADS Mac OS) в подкаталоге " RESOURCE.FRK ", в каждом каталоге, где они используются. Начиная с версии PC Exchange 2.1, они хранят длинные имена файлов Mac OS как стандартные длинные имена файлов FAT и преобразуют имена файлов FAT длиной более 31 символа в уникальные 31-символьные имена файлов, которые затем можно сделать видимыми для Приложения Macintosh.

macOS магазины вилки ресурсов и метаданные (атрибуты файлов, другие ADS) с использованием Формат AppleDouble в скрытом файле с именем, составленным из имени файла владельца с префиксом " ._ ", и Finder сохраняет некоторые метаданные папок и файлов в скрытом файле с именем " .DS_Store "(но учтите, что Finder использует .DS_Store даже в собственной файловой системе macOS, HFS +).

Разрешения и имена файлов UMSDOS

Производные

Турбо FAT

В своем Файловая система NetWare (NWFS) Novell реализовал сильно модифицированный вариант файловой системы FAT для NetWare Операционная система. Для больших файлов он использовал функцию производительности с именем Турбо FAT.

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

exFAT

exFAT предназначен для использования на флэш-накопители (такие как SDXC и Карта памяти Memory Stick XC), где в противном случае используется FAT32. Microsoft GUI а утилиты формата командной строки предлагают его в качестве альтернативы NTFS (и, для небольших разделов, чтобы FAT16B и FAT32). В MBR тип раздела является 0x07 (то же, что и для IFS, HPFS, и NTFS). Информация о логической геометрии, расположенная в VBR хранится в формате, не похожем на BPB.

Патенты

Проблемы и судебные иски

FAT (от англ. File Allocation Table — «таблица размещения файлов») — архитектура файловой системы, сейчас широко используемая в картах памяти фотоаппаратов и других устройств.

Разработана Биллом Гейтсом и Марком МакДональдом в 1977 году [1] . Использовалась в качестве основной файловой системы в операционных системах DOS и Microsoft Windows (до версии Windows ME).

Структура FAT определена стандартом ECMA-107.

Содержание

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

Раздел диска, отформатированный в системе FAT, имеет следующую структуру:

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

Для хранения файлов всё доступное для них пространство разбивается на кластеры. Таблица размещения файлов содержит ячейки, каждая из которых соответствует определённому кластеру диска. Если кластер принадлежит файлу, то соответствующая ему ячейка содержит номер следующего кластера этого же файла. Если ячейка соответствует последнему кластеру файла, то она содержит значение «FFFF». Таким образом выстраивается цепочка кластеров файла. Неиспользуемые кластеры помечены «0000». «Плохие» кластеры помечены специальным кодом «FFF7».

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

Максимальный размер кластера, который поддерживается в FAT, составляет 64 Кб. Зная, что максимальное количество кластеров, которое можно адресовать шестнадцатиразрядным указателем равно 65536, можно вычислить какой величины раздел можно отформатировать, применяя тот или иной размер кластера. Если взять размер кластера равным размеру физического кластера (сектора), то получим: 65536 * 512 = 32 Мб. Если взять кластер в 2 раза больше, то можно отформатировать раздел уже до 64 Мб. Ввиду того, что разрядность ФС - величина постоянная, для форматирования дисков различных размеров будут применяться разные размеры кластеров. Например, чтобы отформатировать диск более 1 Гб, нужно применять кластер 16 КБ. Поскольку размер кластера, являющийся максимально допустимым в этой ФС, равен 64 Кб, то можно определить, что максимальный размер раздела, форматируемый под FAT, равен 4 Гб.

Отказоустойчивость системы

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

Версии системы FAT

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

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

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

Характеристики

Лицензирование

Майкрософт запатентовала некоторые алгоритмы работы с FAT и VFAT.

В США при повторном рассмотрении [когда?] было принято решение аннулировать некоторые из патентов, но потом его отменили.

В октябре 2006 года в Германии был аннулирован за очевидность патент на VFAT, выданный Европейским патентным бюро. [2]

Со временем FAT стали широко использовать в различных устройствах для совместимости между DOS, Windows, OS/2, Linux. Майкрософт не выказывала намерений принуждать к их лицензированию [уточнить] . [3]

В феврале 2009 года Майкрософт подала в суд на компанию TomTom, производителя автомобильных навигационных систем на основе Linux, обвиняя её в нарушении патентов. [4]

В марте 2009 года TomTom подала встречный иск о нарушении патентов. [7]

Примечания

Ссылки

См. также

Актуальные: Contacts • DVD Maker • Fax and Scan • Internet Explorer • Journal • Magnifier • Media Center • Media Player • Meeting Space • Mobile Device Center • Mobility Center • Narrator • Paint • Private Character Editor • Remote Assistance • Snipping Tool • Speech Recognition • WordPad • Блокнот • Боковая панель • Звукозапись • Календарь • Калькулятор • Почта • Таблица символов

Chess Titans • Hold 'Em • InkBall • Mahjong Titans • Purble Place • Пасьянс «Косынка» • Пасьянс «Паук» • Сапёр • Пасьянс «Свободная ячейка» • Пинбол • Червы

Autorun • BITS • CLFS Error Reporting • Multimedia Class Scheduler • Shadow Copy • Task Scheduler • Wireless Zero Configuration •

NTFS (Hard link • Junction point • Mount Point • Reparse point • Symbolic link • TxF • EFS) • FAT • exFAT • CDFS • UDF • DFS • IFS

Active Directory • Deployment Services • DFS Replication • DNS • Domains • Folder redirection • Hyper-V • IIS • Media Services • MSMQ • Network Access Protection • Print Services for UNIX • Remote Differential Compression • Remote Installation Services • Rights Management Services • Roaming user profiles • SharePoint Services • System Resource Manager • Terminal Services • WSUS • Групповая политика • Координатор распределённых транзакций

Обзор • Object Manager • I/O request packets • Kernel Transaction Manager • Logical Disk Manager • Security Accounts Manager • Windows Resource Protection • LSASS • CSRSS • SMSS • Диспечер печати • Запуск (Vista)

Unix subsystem (Interix) • Virtual DOS Machine • Windows on Windows • WOW64

Типы файловых систем

Рядовому пользователю компьютерных электронных устройств редко, но приходится сталкиваться с таким понятием, как «выбор файловой системы». Чаще всего это происходит при необходимости форматирования внешних накопителей (флешек, microSD), установке операционных систем, восстановлении данных на проблемных носителях, в том числе жестких дисках. Пользователям Windows предлагается выбрать тип файловой системы, FAT32 или NTFS, и способ форматирования (быстрое/глубокое). Дополнительно можно установить размер кластера. При использовании ОС Linux и macOS названия файловых систем могут отличаться.

Возникает логичный вопрос: что такое файловая система и в чем ее предназначение? В данной статье дадим ответы на основные вопросы касательно наиболее распространенных ФС.

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

Обычно вся информация записывается, хранится и обрабатывается на различных цифровых носителях в виде файлов. Далее, в зависимости от типа файла, кодируется в виде знакомых расширений – *exe, *doc, *pdf и т.д., происходит их открытие и обработка в соответствующем программном обеспечении. Мало кто задумывается, каким образом происходит хранение и обработка цифрового массива в целом на соответствующем носителе.

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

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

Файловая система связывает носитель информации (хранилище) с прикладным программным обеспечением, организуя доступ к конкретным файлам при помощи функционала взаимодействия программ A PI. Программа, при обращении к файлу, располагает данными только о его имени, размере и атрибутах. Всю остальную информацию, касающуюся типа носителя, на котором записан файл, и структуры хранения данных, она получает от драйвера файловой системы.

На физическом уровне драйверы ФС оптимизируют запись и считывание отдельных частей файлов для ускоренной обработки запросов, фрагментации и «склеивания» хранящейся в ячейках информации. Данный алгоритм получил распространение в большинстве популярных файловых систем на концептуальном уровне в виде иерархической структуры представления метаданных (B-trees). Технология снижает количество самых длительных дисковых операций – позиционирования головок при чтении произвольных блоков. Это позволяет не только ускорить обработку запросов, но и продлить срок службы HDD. В случае с твердотельными накопителями, где принцип записи, хранения и считывания информации отличается от применяемого в жестких дисках, ситуация с выбором оптимальной файловой системы имеет свои нюансы.

Основные функции файловых систем

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

Основными функциями файловой системы являются:

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

VDS Timeweb арендовать

Задачи файловой системы

Функционал файловой системы нацелен на решение следующих задач:

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

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

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

Операционные системы и типы файловых систем

Существует три основных вида операционных систем, используемых для управления любыми информационными устройствами: Windows компании Microsoft, macOS разработки Apple и операционные системы с открытым исходным кодом на базе Linux. Все они, для взаимодействия с физическими носителями, используют различные типы файловых систем, многие из которых дружат только со «своей» операционкой. В большинстве случаев они являются предустановленными, рядовые пользователи редко создают новые дисковые разделы и еще реже задумываются об их настройках.

В случае с Windows все выглядит достаточно просто: NTFS на всех дисковых разделах и FAT32 (или NTFS) на флешках. Если установлен NAS (сервер для хранения данных на файловом уровне), и в нем используется какая-то другая файловая система, то практически никто не обращает на это внимания. К нему просто подключаются по сети и качают файлы.

На мобильных гаджетах с ОС Android чаще всего установлена ФС версии ext4 во внутренней памяти и FAT32 на карточках microSD. Владельцы продукции Apple зачастую вообще не имеют представления, какая файловая система используется на их устройствах – HFS+, HFSX, APFS, WTFS или другая. Для них существуют лишь красивые значки папок и файлов в графическом интерфейсе.

Более богатый выбор у линуксоидов. Но здесь настройка и использование определенного типа файловой системы требует хотя бы минимальных навыков программирования. Тем более, мало кто задумывается, можно ли использовать в определенной ОС «неродную» файловую систему. И зачем вообще это нужно.

Рассмотрим более подробно виды файловых систем в зависимости от их предпочтительного использования с определенной операционной системой.

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

Исходный код файловой системы, получившей название FAT, был разработан по личной договоренности владельца Microsoft Билла Гейтса с первым наемным сотрудником компании Марком Макдональдом в 1977 году. Основной задачей FAT была работа с данными в операционной системе Microsoft 8080/Z80 на базе платформы MDOS/MIDAS. Файловая система FAT претерпела несколько модификаций – FAT12, FAT16 и, наконец, FAT32, которая используется сейчас в большинстве внешних накопителей. Основным отличием каждой версии является преодоление ограниченного объема доступной для хранения информации. В дальнейшем были разработаны еще две более совершенные системы обработки и хранения данных – NTFS и ReFS.

FAT (таблица распределения файлов)

Числа в FAT12, FAT16 и FAT32 обозначают количество бит, используемых для перечисления блока файловой системы. FAT32 является фактическим стандартом и устанавливается на большинстве видов сменных носителей по умолчанию. Одной из особенностей этой версии ФС является возможность применения не только на современных моделях компьютеров, но и в устаревших устройствах и консолях, снабженных разъемом USB.

Пространство FAT32 логически разделено на три сопредельные области:

  • зарезервированный сектор для служебных структур;
  • табличная форма указателей;
  • непосредственная зона записи содержимого файлов.

К недостатком стандарта FAT32 относится ограничение размера файлов на диске до 4 Гб и всего раздела в пределах 8 Тб. По этой причине данная файловая система чаще всего используется в USB-накопителях и других внешних носителях информации. Для установки последней версии ОС Microsoft Windows 10 на внутреннем носителе потребуется более продвинутая файловая система.

С целью устранения ограничений, присущих FAT32, корпорация Microsoft разработала обновленную версию файловой системы exFAT (расширенная таблица размещения файлов). Новая ФС очень схожа со своим предшественником, но позволяет пользователям хранить файлы намного большего размера, чем четыре гигабайта. В exFAT значительно снижено число перезаписей секторов, ответственных за непосредственное хранение информации. Функция очень важна для твердотельных накопителей ввиду необратимого изнашивания ячеек после определенного количества операций записи. Продукт exFAT совместим с операционными системами Mac, Android и Windows. Для Linux понадобится вспомогательное программное обеспечение.

NTFS (файловая система новой технологии)

Стандарт NTFS разработан с целью устранения недостатков, присущих более ранним версиям ФС. Впервые он был реализован в Windows NT в 1995 году, и в настоящее время является основной файловой системой для Windows. Система NTFS расширила допустимый предел размера файлов до шестнадцати гигабайт, поддерживает разделы диска до 16 Эб (эксабайт, 10 18 байт ). Использование системы шифрования Encryption File System (метод «прозрачного шифрования») осуществляет разграничение доступа к данным для различных пользователей, предотвращает несанкционированный доступ к содержимому файла. Файловая система позволяет использовать расширенные имена файлов, включая поддержку многоязычности в стандарте юникода UTF, в том числе в формате кириллицы. Встроенное приложение проверки жесткого диска или внешнего накопителя на ошибки файловой системы chkdsk повышает надежность работы харда, но отрицательно влияет на производительность.

ReFS (Resilient File System)

Последняя разработка Microsoft, доступная для серверов Windows 8 и 10. Архитектура файловой системы в основном организована в виде B + -tree. Файловая система ReFS обладает высокой отказоустойчивостью благодаря реализации новых функций:

  • Copy-on-Write (CoW) – никакие метаданные не изменяются без копирования;
  • данные записываются на новое дисковое пространство, а не поверх существующих файлов;
  • при модификации метаданных новая копия хранится в свободном дисковом пространстве, затем система создает ссылку из старых метаданных на новую версию.

Все это позволяет повысить надежность хранения файлов, обеспечивает быстрое и легкое восстановление данных.

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

Для операционной системы macOS компания Apple использует собственные разработки файловых систем:

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

  1. HFS+, которая является усовершенствованной версией HFS, ранее применяемой на компьютерах Macintosh, и ее более соверешенный аналог APFS. Стандарт HFS+ используется во всех устройствах под управлением продуктов Apple, включая компьютеры Mac, iPod, а также Apple X Server.
  2. Кластерная файловая система Apple Xsan, созданная из файловых систем StorNext и CentraVision, используется в расширенных серверных продуктах. Эта файловая система хранит файлы и папки, информацию Finder о просмотре каталогов, положениях окна и т.д.

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

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

Файловая система Линукс

Основные файловые системы, используемые в дистрибутивах Linux:

Ext2, Ext3, Ext4 или Extended Filesystem – стандартная файловая система, первоначально разработанная еще для Minix. Содержит максимальное количество функций и является наиболее стабильной в связи с редкими изменениями кодовой базы. Начиная с ext3 в системе используется функция журналирования. Сегодня версия ext4 присутствует во всех дистрибутивах Linux.

JFS или Journaled File System разработана в IBM в качестве альтернативы для файловых систем ext. Сейчас она используется там, где необходима высокая стабильность и минимальное потребление ресурсов (в первую очередь в многопроцессорных компьютерах). В журнале хранятся только метаданные, что позволяет восстанавливать старые версии файлов после сбоев.

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

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

Btrfs или B-Tree File System легко администрируется, обладает высокой отказоустойчивостью и производительностью. Используется как файловая система по умолчанию в OpenSUSE и SUSE Linux.

Другие ФС, такие как NTFS, FAT, HFS, могут использоваться в Linux, но корневая файловая система на них не устанавливается, поскольку они для этого не предназначены.

Дополнительные файловые системы

В операционных системах семейства Unix BSD (созданы на базе Linux) и Sun Solaris чаще всего используются различные версии ФС UFS (Unix File System), известной также под названием FFS (Fast File System). В современных компьютерных технологиях данные файловые системы могут быть заменены на альтернативные: ZFS для Solaris, JFS и ее производные для Unix.

Кластерные файловые системы включают поддержку распределенных хранилищ, расширяемость и модульность. К ним относятся:

  • ZFS – «Zettabyte File System» разработана для распределенных хранилищ Sun Solaris OS;
  • Apple Xsan – эволюция компании Apple в CentraVision и более поздних разработках StorNext;
  • VMFS (Файловая система виртуальных машин) разработана компанией VMware для VMware ESX Server;
  • GFS – Red Hat Linux именуется как «глобальная файловая система» для Linux;
  • JFS1 – оригинальный (устаревший) дизайн файловой системы IBM JFS, используемой в старых системах хранения AIX.

Практический пример использования файловых систем

Владельцы мобильных гаджетов для хранения большого объема информации используют дополнительные твердотельные накопители microSD (HC), по умолчанию отформатированные в стандарте FAT32. Это является основным препятствием для установки на них приложений и переноса данных из внутренней памяти. Чтобы решить эту проблему, необходимо создать на карточке раздел с ext3 или ext4. На него можно перенести все файловые атрибуты (включая владельца и права доступа), чтобы любое приложение могло работать так, словно запустилось из внутренней памяти.

Операционная система Windows не умеет делать на флешках больше одного раздела. С этой задачей легко справится Linux, который можно запустить, например, в виртуальной среде. Второй вариант - использование специальной утилиты для работы с логической разметкой, такой как MiniTool Partition Wizard Free . Обнаружив на карточке дополнительный первичный раздел с ext3/ext4, приложение Андроид Link2SD и аналогичные ему предложат куда больше вариантов.

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

Флешки и карты памяти быстро умирают как раз из-за того, что любое изменение в FAT32 вызывает перезапись одних и тех же секторов. Гораздо лучше использовать на флеш-картах NTFS с ее устойчивой к сбоям таблицей $MFT. Небольшие файлы могут храниться прямо в главной файловой таблице, а расширения и копии записываются в разные области флеш-памяти. Благодаря индексации на NTFS поиск выполняется быстрее. Аналогичных примеров оптимизации работы с различными накопителями за счет правильного использования возможностей файловых систем существует множество.

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

Читайте также: