Какое имя является правильным, exFAT или FAT64?

Ответы:

81

Там нет такого понятия, как FAT64, по крайней мере, в настоящее время. Есть exFAT, который некоторые люди называют FAT64.

Почему они это делают? История таблицы размещения файлов довольно сложна. В наши дни наиболее распространенными реализациями являются FAT32 (хотя это становится все более редким) и ExFAT. FAT32 был значительным улучшением по сравнению со старыми файловыми системами FAT, позволяя иметь размеры томов до 2 ТБ (с размером сектора 512 байт) и до 16 ТБ (с размером сектора 64 КБ). Это все еще достаточно для большинства установок в 2016 году. К сожалению, самый большой размер файла был (на один байт меньше) 4 ГБ, что довольно мало в настоящее время.

exFAT устраняет этот предел в 4 ГБ, позволяя файлам проникать в область PB. Аналогично с размером тома. Это делается с использованием полей 64-битной длины. Поскольку FAT32 использовал 32-битные поля длины, exFAT естественно получил псевдоним FAT64.

Так да. FAT64 и exFAT - это одно и то же. exFAT - правильное имя.

ChrisInEdmonton
источник
5
Но размер относится не к «полям длины» в целом, а к размеру перечисления кластера. Разве это еще не 32 бита?
JDługosz
3
@ JDługosz Похоже, это так. Википедия дает ограничение в 2 ^ 32 - 11 кластеров, что хорошо согласуется с 32-битным номером кластера. Это в отличие от FAT12 (12-разрядные номера кластеров), FAT16 (16-разрядные номера кластеров) и FAT32 (32-разрядные номера кластеров), где число в обычно используемом имени напрямую соответствует длине номера кластера. Я вполне уверен, что у меня было много-много файлов размером более 2 ^ 16 байт в дни FAT16.
CVn
Согласился с ответом. Целью ExFAT было фактически избавиться от ограничений FAT32, таких как размер файла и размер раздела, что он и сделал. Вот почему поля 64-битной длины, и именно поэтому логический псевдоним FAT64 (что технически это так).
Сверхразум
Размер файла всегда составлял 4 байта с момента первого использования FAT в MS-DOS, хотя история Википедии показывает, что 8-битный предшественник, по-видимому, составлял 24 бита или 3 байта.
JDługosz
1
Минус 11 основан на том факте, что кластер 0 & 1 не существует, кластер FF7 отмечает плохие кластеры, а для более ранних FAT FF8 - FFF (8 ячеек) [2 + 1 + 8 = 11]
Роберт Шулькич
26

Рани в основном прав. Однако FAT не был основан на поле длины, он был основан на размере значения индекса. Итак, с дискетами у вас была FAT12, где каждая ячейка в таблице FAT составляла 12 битов, затем FAT16, а затем FAT32, размер которой составлял 32 бита, НО ИСПОЛЬЗУЕТСЯ только 28 бит. exFat также использует 32-битные записи в ячейках , но используются ВСЕ 32 бита, и позволяет использовать 2 ^ 32 кластера с максимальным размером кластера 32 ГБ для общей файловой системы около 128 ПиБ.

Файловая система называлась FAT64, потому что, не зная структуры файловой системы, все просто предполагали, что она удвоила FAT с 32 до 64, и это не так. Создание exFAT должно было решить многие проблемы. Барьер в размере 4 ГБ для размера файла стал значительным фактором, потому что в игру вступает много видео с высоким качеством HD, где часы видео занимают много места. Особенно работает на высоких HD (1080P) и супер высоких (4K), которые могут преодолеть этот барьер за 10-15 минут. Но файловая система была также построена для производительности, особенно для записи видео. Более высокая скорость записи, меньше накладных расходов. Для этого меньше обновлений FAT, введено растровое изображение, непрерывные улучшения файлов, предварительно выделенные файловые пространства, чтобы уменьшить накладные расходы. exFAT является стандартной файловой системой для карт памяти SDXC из-за улучшений в файловой системе exFAT.

Роберт Шулькич
источник
4
"Дневной стол"? Это опечатка или что-то?
JDługosz
4
@ JDługosz Боец ночного столика.
JFA
1
День опечатка из-за автозамены, означает FAT - Таблица размещения файлов
Роберт Шулькич
2
Вы хотите больше грязи на внутренностях exFAT? sans.org/reading-room/whitepapers/forensics/…
Роберт Шулькич
13

В то время как exFAT заимствует некоторые концепции FAT, существуют серьезные различия, поэтому утверждение, что exFAT является (в основном) FAT64, просто неверно.

Между FAT12 и 16 был изменен только размер таблицы размещения. FAT32 имела еще большую (32 бита на запись) таблицу размещения, были введены некоторые новые концепции (переменный адрес для корневого каталога, таблица быстрого просмотра для следующей свободной записи, резервные BPB и т. Д.). (имейте в виду, что VFAT, то есть длинные имена файлов и тому подобное) не имеют связи с FAT32, так как они просто (довольно умно) взломают, как управляются каталоги)

При написании файловой системы exFAT простое использование драйвера FAT32 и повторное расширение таблицы размещения ни к чему не приведет (просто потому, что таблица распределения по-прежнему имеет ширину 32 бита), но exFAT вводит битовую карту томов для быстрого поиска распределенных секторов, использует таблица размещения только для файлов, которые не хранятся в одном фрагменте (в противном случае она просто использует записи datarun) и имеет совершенно другой формат хранения каталогов.

Ро-е-е
источник
5

Да, exFAT является официальным названием, а FAT64 является его синонимом.

Мате Юхас
источник
13
У вас есть цитата для этого?
CVn
1
нет, я не цитирую это, любой ресурс, который я нашел, упоминает оба вместе, но там об этом прямо не сказано.
Матэ Юхас,
6
Обратите внимание, что этот ответ, я твердо верю, правильный и был опубликован до моего более глубокого ответа.
ChrisInEdmonton