回答:
ファイルシステムは、ファイルサイズ(バイト単位、またはセクターやブロックなどのファイルシステムに依存する単位)を格納する必要があります。サイズに割り当てられるビット数は通常、ファイルシステムの設計時に固定されます。
サイズに多くのビットを許可すると、すべてのファイルに少し余裕ができ、すべての操作が少し遅くなります。一方、サイズに許容されるビット数が少なすぎると、20EBファイルを保存しようとしていて、がらくたファイルシステムでは許可されないため、ある日人々は不満を言うでしょう。
当時あなたが言及したファイルシステムは設計されており、限界に達するのに十分な大きさのディスクを持っていると、サイエンスフィクションのように聞こえました。(FAT32を除くが、FAT32を推進した会社は、誰もが新しいNTFSを採用する前の中間的な手段としてそれを意図し、さらに、増大する要件を予測するのが得意ではなかった。)
もう1つのことは、前世紀の終わりまで、ほとんどのコンシューマー(およびサーバー)ハードウェアは32ビット値の高速計算にしか対応できず、オペレーティングシステムは、ファイルサイズを含むほとんどのものに32ビット値を使用する傾向があったことです。32ビットは4 GBを意味するため、オペレーティングシステムは、ファイルシステムに関係なく4 GBのファイルに制限される傾向があり、符号付き整数を使用したため、多くの場合2 GBに制限されていました。深刻なデスクトップまたはサーバーOSは現在、ファイルサイズとオフセットに64ビットを使用しており、8EBに制限されています。
通常、ディスク上のデータ構造が限界です。これらのオペレーティングシステムがディスクをフォーマットする方法、およびディスク上のファイルの一部を追跡する方法を調査し、これらのオペレーティングシステムにこれらの制限がある理由を理解します。FATファイルシステムはオンラインでかなりよく文書化されており(たとえばWikipediaを参照)、一部のディスク構造フィールドの整数サイズの選択によって、このディスク形式で保存できるファイルの全体的なサイズが制限されることがわかります。
制限は、ファイリングシステムの仕様が記述されたときに、ハードドライブがそれほど大きくなるとは決して考えられなかったという事実、または仕様を設計する際のその他の技術的な制限によるものです。
今日では、新しいファイリングシステムの制限は、通常、期待される用途に向いていると思います。
...技術チームがファイリングシステムをリリースし、500ペタバイトのハードドライブをサポートしていると言ってテストを行わないのは難しいでしょう。
私の最初のラップトップは40MBのハードドライブを搭載した286でした...当時、FATが必要になる(または限界に達する)とは想像もしていませんでした。
現在のNTFSの制限は、ボリュームあたり約16 TB、ファイルあたり2 TBだと思います...非常に率直に言って、これはしばらくの間(そしてそうでなければなりません)、2 TBを超えるファイルを書き込むことができる(または必要とする)ものは通常、分割ファイルや類似の管理機能(SQLサーバーなど)。
すべてのファイルのサイズを知ることは、私たちが慣れ親しんだ単純化です。それはそうである必要はなく、いつもそうであるとは限りませんでした。
古いメインフレームは、テープファイルが最後まで読み取られるまで、テープファイルのサイズが新しくなることはありません(その場合でも、サイズを追跡できなかった可能性があります)。ディスクファイルでさえ、多くの場合、順次アクセスされ、拡張されるだけで大きくなります。それらのサイズ(バイト単位)は記録されておらず、一般に、可変セクターサイズやその他の奇妙な機能のため、それらを完全に読み取らずに計算することはできませんでした。
ファイルサイズを追跡せずに無制限に拡張できるファイルシステムを設計することは難しくありません。