在 32 位系统中是否存在高清大文件问题?

Jim*_*Jim 3 memory windows linux filesystems

我知道在 32 位系统中,我们可以拥有的最大内存是 4GB (2^32)。但我不清楚这在文件方面的含义是什么。
我认为我们可以在 HD 中保存任意大小的文件,对吗?远远超过 4GB。那么在 32 位系统和大文件中是否有任何警告?
我认为某些 32 位程序无法加载超过 4GB 的文件,还是我错了?

Ton*_*nny 7

只有当您的应用程序尝试将整个文件加载到内存中时才重要。
对这么大的文件这样做的程序员应该被枪杀。有更好的方法。

某些软件可能会在非常大的文件(大意味着 > 2 GB)上打嗝,但此类软件通常也会在 64 位系统上执行此操作。
在大多数情况下,这是由于程序员拥有专为较小文件设计和测试的软件。该软件包含逻辑错误,无法正常处理非常大的文件。这不是操作系统本身的限制。
(非常常见的示例是使用带符号的 32 数字来跟踪文件中的位置,这会在 2 GB 边界处出现问题。)

对于您的示例视频:通常只有一小部分(实际播放的部分和一些额外的缓冲秒数)加载到内存中。通常一次不超过 2-3 兆字节。

至于硬盘上任意大小的文件:那不是真的。
每个文件系统对任何单个文件的最大大小都有限制。
例如,在 Fat32 的情况下,每个文件的限制为 4 GB。NTFS 的限制为 16 TB。Linux 文件系统 ext3 有 16GB、256GB 或 2TB 的限制,具体取决于文件系统是使用 1K、2K 还是 4K 块。