为什么操作系统有文件大小限制?

Moe*_*oeb 10 windows linux filesystems

什么限制了文件的最大大小取决于操作系统?

这个页面

替代文字

我不完全理解这一点。如果您有存储空间,还有什么限制?除非存储空间用完,否则您应该能够以您想要的方式存储尽可能多的数据(即使在单个文件中)。

Gil*_*il' 19

文件系统需要存储文件大小(以字节为单位,或以某些文件系统相关的单位,如扇区或块)。在设计文件系统时,分配给大小的位数通常是固定的。

如果大小允许太多位,则会使每个文件占用更多空间,并且每个操作都会变慢。另一方面,如果您允许的位太少,那么有一天人们会抱怨,因为他们试图存储一个 20EB 的文件,而您的垃圾文件系统不允许他们这样做。

在设计您提到的文件系统时,拥有足够大的磁盘以达到极限听起来像科幻小说。(除了 FAT32,但推广它的公司打算在每个人都采用他们闪亮的新 NTFS 之前将其作为一种中间措施,而且他们从来没有很好地预测不断增长的需求。)

另一件事是,直到上世纪末,大多数消费者(甚至服务器)硬件只能使用 32 位值进行快速计算,而操作系统倾向于使用 32 位值来处理大多数事情,包括文件大小。32 位意味着 4GB,因此无论文件系统如何,操作系统都倾向于限制为 4GB 文件,通常甚至是 2GB,因为它们使用有符号整数。现在任何严肃的桌面或服务器操作系统都使用 64 位的文件大小和偏移量,这将限制设置为 8EB。

  • +1。向初学者澄清 - EB 以 EB 为单位,以百万 TB 为单位。 (2认同)

Mic*_*hne 8

磁盘上的数据结构通常是限制。研究这些操作系统如何格式化它们的磁盘以及它们如何跟踪磁盘上的文件部分,你就会明白它们为什么有这些限制。FAT 文件系统在网上有很好的记录(例如,请参阅Wikipedia),您可以看到他们为某些磁盘结构字段选择的整数大小最终限制了您可以使用此磁盘格式存储的文件的整体大小。