为什么FAT32磁盘限制为4GB文件? [英] Why are FAT32 disks limited to 4GB files?

查看:240
本文介绍了为什么FAT32磁盘限制为4GB文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不是在寻找解决办法。我想要一个解释。我通过Google发现的大多数链接都告诉我,文件限制是4GB,但不是为什么。

我知道维基百科的解释: http://en.wikipedia.org/wiki/File_Allocation_Table#FAT32



但是这仍然没有详细说明原因。 (SCANDISK和它有什么关系?)

也许我会理解是否有可能克服4GB的文件大小限制。

解决方案

为了扩展这个答案,FAT32从FAT16和FAT12派生。当引入FAT12时,PC运行16位操作系统,并且没有大于10兆的驱动器。我不认为任何人都希望PC上的任何人都需要一个文件大小是最大可用驱动器的四百倍。此外,即使微软有先见之明地为每个目录条目分配一个额外的字节来保存文件大小的位32-39(允许每个文件高达一兆兆字节),但是任何应用程序员都会使用它。没有语言为大于32位的整数运算提供了方便的支持;甚至32位数学也被认为是相当有趣的。

在我脑海中一个更大的问题是为什么我不知道为了向标准的非FAT32存储接口这不是基于顺序编号的部门。闪存驱动器和硬盘驱动器可以从了解各种扇区写入的逻辑意义中受益(在闪存的情况下,因为在执行磨损管理时不需要复制删除的扇区;在硬盘驱动器的情况下,写入以不会违反数据一致性要求的方式重新排序)。

I'm not looking for a workaround; I'd like an explanation. Most of the links I found through Google just tell me that the file limit is 4GB, but not why.

I am aware of the explanation by Wikipedia: http://en.wikipedia.org/wiki/File_Allocation_Table#FAT32

But this still does not go into detail about why. (What does SCANDISK have to do with it?)

Maybe then I will understand whether it's possible to overcome the 4GB file size limit.

解决方案

To extend that answer, FAT32 is derived from FAT16 and FAT12. When FAT12 was introduced, PCs ran a 16-bit OS, and there were no drives larger than ten megabytes. I don't think anyone was expecting that anyone on a PC would ever need a file that was four hundred times the size of the largest available drive. Further, even if Microsoft had the foresight to allocate an extra byte for each directory entry to hold bits 32-39 of the file size (allowing files up to one terabyte each) it's doubtful any application programmers would have used it. No languages provided convenient support for integer math bigger than 32 bits; even 32-bit maths were considered pretty fancy.

A bigger question in my mind is why I'm unaware of any efforts to move toward a standard non-FAT32 storage interface that isn't based on sequentially-numbered sectors. Both flash drives and hard drives could benefit from knowing the logical significance of various sector writes (in the case of flash, because it would remove the need to copy deleted sectors when performing wear management; in the case of hard drives, because it would allow writes to be resequenced in ways that would not violate data consistency requirements).

这篇关于为什么FAT32磁盘限制为4GB文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆