Souborové systémy potřebují ukládat velikosti souborů (buď v bajtech, nebo v nějaké jednotce závislé na souborovém systému, jako jsou sektory nebo bloky). Počet bitů přidělených velikosti je obvykle pevně stanoven při návrhu souborového systému.
Pokud povolíte příliš mnoho bitů vzhledem k velikosti, každý soubor zabere o něco více místa a každá operace bude o něco pomalejší. Na druhou stranu, pokud povolíte příliš málo bitů vzhledem k velikosti, pak si jednoho dne lidé budou stěžovat, protože se snaží uložit soubor o velikosti 20 EB a váš sprostý souborový systém jim to nedovolí.
V době, kdy byly navrženy souborové systémy, které zmiňujete, znělo mít dostatečně velký disk, aby narazil na limit, jako sci-fi. (Kromě FAT32, ale společnost, která jej propagovala, to zamýšlela jako přechodné opatření, než všichni přijali svůj zbrusu nový NTFS, navíc nikdy nebyli moc dobří v předvídání rostoucích požadavků.)
Další věc je, že až do konce minulého století mohla většina spotřebního (a dokonce i serverového) hardwaru pojmout pouze rychlé výpočty s 32bitovými hodnotami a operační systémy měly tendenci používat 32bitové hodnoty pro většinu věcí, včetně velikostí souborů. 32 bitů znamená 4 GB, takže operační systémy měly tendenci být omezeny na 4 GB soubory bez ohledu na souborový systém, často dokonce 2 GB, protože používaly celá čísla se znaménkem. Jakýkoli seriózní operační systém pro stolní počítače nebo servery dnes používá 64 bitů pro velikosti souborů a posuny, což představuje limit 8 EB.
Limitem jsou obvykle datové struktury na disku. Prozkoumejte, jak tyto operační systémy formátují své disky a jak sledují části souborů na disku, a pochopíte, proč mají tato omezení. Souborový systém FAT je docela dobře zdokumentován online (viz například Wikipedia) a můžete vidět, že jejich volba celočíselných velikostí pro některá pole struktury disku nakonec omezuje celkovou velikost souboru, který můžete uložit s tímto formátem disku.