FAT32

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
FAT32
Разработчик Microsoft
Файловая система FAT32
Дата представления Август 1996 (Windows 95 OSR2)
Структура
Содержимое каталогов Таблица
Размещение файлов Линейный список
Сбойные сектора Тегирование кластера
Ограничения
Максимальный размер файла 4 GiB - 1 байт
Максимальная длина имени файла 8.3 или 255 символов при использовании LFN
Максимальный размер тома 2 TiB
8 TiB (2 Кб на сектор)
Возможности
Диапазон дат 1 января 198031 декабря 2107
Точность хранения даты 2 с
Потоки метаданных Нет
Права доступа Нет
Фоновая компрессия Нет
Фоновое шифрование Нет

FAT32 (от англ. File Allocation Table — «таблица размещения файлов») — это файловая система, созданная Microsoft, разновидность FAT.

FAT32 — предпоследняя (перед FAT64, также известной как exFAT) версия файловой системы FAT и улучшение предыдущей версии, известной как FAT16. Она была создана, чтобы преодолеть ограничения на размер тома в FAT16, позволяя при этом использовать старый код программ MS-DOS и сохранив формат. FAT32 использует 32-разрядную адресацию кластеров. FAT32 появилась вместе с Windows 95 OSR2, поддерживается в том числе ОС Android, телевизорами, ТВ приставками и т. д.

Логический предел

[править | править код]

Максимально возможное число кластеров в FAT32 равно 268 435 445, что позволяет использовать тома (логические диски) объёмом до 8 TiB. Фактически максимальный размер всего диска не может быть более 2 TiB[1]. Размер кластера по умолчанию для файловой системы FAT32 составляет от 512 байт до 32 КБ в зависимости от размера тома и конкретной версии ОС[2]. При использовании размера кластера, равного 32768 байт, максимальный размер тома составит чуть менее 8 ТБ[3]. Хотя размер сектора может быть любым, традиционно он считается равным 1 сектору диска и равен 512 байт и так как эта величина не менялась с момента создания — она может считаться некоторым ПО как константа. Это может вызвать некоторые проблемы совместимости.

Средство ScanDisk, входящее в состав Microsoft Windows 95 и Microsoft Windows 98, является 16-разрядной программой. Для таких программ максимальный размер кластера отдельного фрагмента памяти составляет 16 МБ минус 64 КБ. Следовательно, ScanDisk в Windows 95 или Windows 98 не может работать с томами FAT32, у которых размер таблицы FAT превышает 16 МБ минус 64 КБ. Запись в таблице FAT на томе с файловой системой FAT32 имеет размер 4 байта, поэтому ScanDisk не может работать с таблицей FAT на диске FAT32, описывающей более 4 177 920 кластеров (включая два резервных). С учётом самих таблиц FAT и при максимальном размере кластера 32 КБ размер тома может быть до 127,53 ГБ[4].

Штатными средствами Windows 2000, Windows XP, Windows Vista и Windows 7 невозможно создать разделы FAT32 более 32 ГБ, однако, с такими разделами возможно работать, если они были предварительно созданы в других ОС. Причина этого заключается в том, что, по мнению Microsoft, при увеличении размера тома FAT32 выше 32 ГБ резко падает производительность, и что более подходящее решение — использование NTFS, то есть родной формат файловой системы для Windows 2000 и Windows XP[4][5]. Но поскольку NTFS нецелесообразно использовать на флеш-накопителях вследствие увеличивающегося их износа данной файловой системой, то была разработана специальная файловая система exFAT, снимающая ряд ограничений.

Windows XP работает с томами объёмом до 2 ТБ (из справки Windows XP). Программа Partition Magic позволяет создавать FAT32-раздел размером не более ~192 ГБ. Программа EASEUS Partition Master успешно создаёт FAT32-раздел размером 250 ГБ и более. Программа fat32format способна отформатировать максимально возможный размер[6].

Максимально возможный размер файла для тома FAT32 — ~ 4 ГБ — 4 294 967 295 байт (в FAT32 под размер файла отведено 4 байта: это 32 бита. 232−1 — 4 294 967 295 байт. Хотя цепочку в FAT-таблице можно продолжать и дальше, но тогда для определения размера файла придется каждый раз пробегать по всей цепочке, а это будет занимать много времени. К тому же в FAT-таблице указаны только номера кластеров, поэтому тогда можно будет узнать только округлённое значение длины файла) — это весьма важный фактор для смены файловой системы. FAT32 не поддерживает установку разрешений на доступ к файлам и папкам и некоторые другие функции современных файловых систем. Все эти причины привели к тому, что сейчас наблюдается тенденция отказа от FAT32 в пользу более продвинутых файловых систем, таких как NTFS, exFAT, Ext2/Ext3[источник не указан 4381 день].

Препятствием на пути отказа от FAT32 и перехода на другие файловые системы на USB флеш-накопителях является производительность. Помимо описанных ограничений у FAT32 есть ряд преимуществ (по крайней мере над NTFS) как в скорости записи на флеш-накопитель, так и в скорости чтения/копирования данных с него[7]. Кроме того, за счет отсутствия журналирования в FAT32, уменьшается износ блоков флеш-накопителя.

  • Boot Camp компании Apple поддерживает запуск Windows XP с тома FAT32, но сама система Mac OS X не может запускаться с такого тома. Однако сама Mac OS X по умолчанию (без дополнительных драйверов) определяет и поддерживает как чтение, так и запись на FAT32 разделы.

Примечания

[править | править код]
  1. Description of the FAT32 File System. microsoft.com. Дата обращения: 15 декабря 2018. Архивировано 15 декабря 2018 года.
  2. Размер кластера по умолчанию для FAT, NTFS и exFAT. Дата обращения: 6 апреля 2015. Архивировано 14 июля 2015 года.
  3. Ограничения файловой системы FAT32. Дата обращения: 12 июня 2015. Архивировано 13 июня 2015 года.
  4. 1 2 Ограничения файловой системы FAT32. Дата обращения: 14 сентября 2007. Архивировано 28 марта 2008 года.
  5. Ограничения файловой системы FAT32 в Microsoft Windows XP. Дата обращения: 14 сентября 2007. Архивировано 28 марта 2008 года.
  6. fat32format. Дата обращения: 5 октября 2017. Архивировано из оригинала 21 июля 2009 года.
  7. http://www.testfreaks.com/blog/information/usb-flash-drive-comparison-part-2-fat32-vs-ntfs-vs-exfat/ Архивная копия от 2 апреля 2010 на Wayback Machine Сравнение файловых систем на USB Flash [en]