Почему FAT32 ограничен 2 ^ 28 кластерами?

3948
QMord

В FAT16 максимальный размер раздела составляет 2 ГБ, а максимальный размер кластера - 32 КБ.

Это рассчитывается путем умножения количества адресуемых единиц на размер кластера.

(2 16 единиц распределения) * (2 15 байт / кластер) = 2 ГиБ

Однако с FAT32, когда я делаю то же самое вычисление, я получаю намного большее число, чем максимум 8 TiB при использовании 2 32 кластеров.

(2 32 единицы размещения) * (размер кластера)

Если я использую кластер размером 512 байт, я уже достиг 2 ТиБ.

В статье XP TechNet Microsoft говорит, что

Максимально возможное количество кластеров на томе FAT32 составляет 268 435 445, и на каждый кластер приходится максимум 32 КБ вместе с пространством, необходимым для таблицы размещения файлов (FAT).

Это устанавливает максимальный размер кластера в 2 28 - 11.

Почему максимальное число кластеров в FAT32 2 28 -11, а не 2 32, учитывая, что оно было 2 16 в FAT16?

31

1 ответ на вопрос

49
Josh

FAT32 использует только 28 битов, а не 32. Четыре бита «зарезервированы для будущего использования».

Таким образом, FAT32максимальное количество кластеров для раздела составляет 268 435 455 (2 28 -1).

Ссылка

Хотя VFAT была умной системой, она не учитывала ограничений FAT16. В результате с Windows 95 OSR2 появилась новая файловая система (а не только лучшее управление FAT, как в случае с VFAT). Эта файловая система, называемая FAT32, использует 32-битные значения для записей FAT. Фактически используются только 28 битов, поскольку 4 бита зарезервированы для будущего использования.

С появлением файловой системы FAT32 максимальное количество кластеров на раздел увеличилось с 65535 до 268 435 455 (2 28 -1). Таким образом, FAT32 допускает намного большие разделы (до 8 терабайт). Хотя максимальный теоретический размер раздела FAT32 составляет 8 ТБ, Microsoft добровольно ограничила его 32 ГБ в системах Windows 9x для продвижения NTFS.

Отлично: D Это именно то, что я пытался выяснить. Кроме того, поиск в Google FAT28 показывает, что, хотя они были «зарезервированы для будущего использования», они фактически никогда не использовались. QMord 8 лет назад 3
Это обычное значение слова «будущее». Russell Borogove 8 лет назад 56
@RussellBorogove, даже после 40 лет? Pacerier 8 лет назад 2
@Pacerier добро пожаловать в программное обеспечение. Лучше иметь комнату для маневра, чтобы смягчить любые неожиданности! Gusdor 8 лет назад 12
@Pacerier: FAT32 всего 20 лет ... Daniele Torino 8 лет назад 5
@Pacerier То, что написал Даниэле Торино. [FAT32] (https://en.wikipedia.org/wiki/File_Allocation_Table#FAT32) была представлена ​​вместе с [Windows 95 OEM Service Release 2] (https://en.wikipedia.org/wiki/Windows_95#Editions), которая была выпущен 24 августа 1996 года. [FAT16, как мы его знаем] (https://en.wikipedia.org/wiki/File_Allocation_Table#Final_FAT16) была впервые представлена ​​в конце 1987 года. a CVn 8 лет назад 0
@DanieleTorino, @ Майкл, похоже, что мой комментарий придется подождать * некоторое время *, прежде чем он снова станет действительным. ;) Pacerier 8 лет назад 0
Последнее утверждение в вашей цитате неверно, искусственный лимит в 32 ГБ характерен только для окон на базе NT (и специфичен для форматера в этом случае). Windows 98 будет разбивать и форматировать большие диски как FAT32. plugwash 5 лет назад 0