Dlaczego FAT32 jest ograniczony do prawie 2 ^ 28 klastrów?

31

W systemie FAT16 maksymalny rozmiar partycji wynosi 2 GB, gdy maksymalny rozmiar klastra wynosi 32 KB.

Jest to obliczane przez pomnożenie liczby jednostek adresowalnych przez rozmiar klastra.

(2 16 jednostek alokacji) * (2 15 bajtów / klaster) = 2 GiB

Jednak w przypadku FAT32, gdy wykonuję te same obliczenia, otrzymuję znacznie większą liczbę niż maksimum 8 TiB przy użyciu 2 32 klastrów.

(2 32 jednostki alokacji) * (rozmiar klastra)

Jeśli użyję klastra o wielkości 512 bajtów, już osiągnąłem 2 TiB.

W artykule XP TechNet Microsoft mówi

Maksymalna możliwa liczba klastrów w woluminie FAT32 wynosi 268 445 445, a na klaster może przypadać maksymalnie 32 KB, wraz z miejscem wymaganym dla tabeli alokacji plików (FAT).

To stawia maksymalny rozmiar klastra na 2 28–11 .

Dlaczego jest maksymalna ilość klastrów w FAT32 2 28 -11, a nie 2 32 , biorąc pod uwagę, że było 2 16 w FAT16?

QMord
źródło

Odpowiedzi:

49

FAT32 używa tylko 28 bitów, a nie 32. Cztery bity są „zarezerwowane do wykorzystania w przyszłości”.

Tak więc FAT32partycja ma maksymalną liczbę klastrów 268 435 455 (2 28 -1)

Odniesienie

Chociaż VFAT był sprytnym systemem, nie uwzględniał ograniczeń FAT16. W rezultacie nowy system plików (i nie tylko lepsze zarządzanie FAT, jak miało to miejsce w przypadku VFAT) pojawił się w Windows 95 OSR2. Ten system plików, zwany FAT32, używa 32-bitowych wartości dla wpisów FAT. W rzeczywistości używa się tylko 28 bitów, ponieważ 4 bity są zarezerwowane do wykorzystania w przyszłości.

Wraz z pojawieniem się systemu plików FAT32 maksymalna liczba klastrów na partycję wzrosła z 65535 do 268 435 455 (2 28 -1). FAT32 pozwala zatem na znacznie większe partycje (do 8 terabajtów). Chociaż maksymalny teoretyczny rozmiar partycji FAT32 wynosi 8 TB, Microsoft dobrowolnie ograniczył ją do 32 GB w systemach Windows 9x w celu promowania NTFS

Josh
źródło
3
Doskonałe: D Właśnie tego chciałem się dowiedzieć. Ponadto przeglądanie systemu FAT28 pokazuje, że chociaż były „zarezerwowane do wykorzystania w przyszłości”, nigdy tak naprawdę nie były używane.
QMord,
56
Takie jest zwykłe znaczenie słowa „przyszłość”.
Russell Borogove,
2
@ RussellBorogove, nawet po 40 latach?
Pacerier,
12
@Pacerier witamy w oprogramowaniu. Lepiej mieć wijącą się przestrzeń, aby złagodzić wszelkie niespodzianki!
Gusdor,
5
@Pacerier: FAT32 ma tylko 20 lat ...
Daniele Torino