查看原文
其他

工程师:FAT32格式化32G限制是个不能被原谅的致命错误

The following article is from FOSS Lab Author 白开水

众所周知,在 Windows 上,只有低于 32GB 容量的分区才能选择格式化为 FAT32。但这一限制到底是出于何种原因呢?近日,已退休的前微软工程师 Dave Plummer 则在自己的 YouTube 频道回忆了其当初做出这一决定的心路历程。

FAT32 指的是文件分配表是采用 32 位二进制数记录管理的磁盘文件管理方式,因 FAT 类文件系统的核心是文件分配表,命名由此得来。FAT32 从 FAT 和 FAT16 发展而来,有着优良地稳定性和兼容性,能充分兼容 Win 9X 及以前版本、维护方便。但缺点是安全性差,且最大只能支持 32GB 分区,单个文件也只能支持最大 4GB。

考虑到实际上 FAT32 文件系统可以管理高达 16TB 的容量,Plummer 当初做出 32GB 这一限制似乎有点武断。据 Plummer 回忆称,他于上世纪末期参与了将 Windows 95 shell 移植到 Windows NT 的工作。其中的一部分工作内容就是对 Windows Format 的重做;对此,Plummer 表示“由于 Win95 系统有着明显的不同,所以它必须进行替换并完全重写”。

而在这一过程中,他曾认真过思考究竟什么样的群集大小才能为将来的 Windows 用户提供潜在的支持。然后发现,庞大的群集数量会带来同样庞大的容量,但也会造成巨大的空间占用。譬如:选择 32kb 的群集大小,即使是最小的 Hello, World 程序所需的几个字节,也会占用 32kb 甚至更多的磁盘空间 。

彼时,Plummer 能拿到手的最大的测试用存储卡的容量为 16MB。因此他想的是,如果将 16MB 乘以 1000,然后再增大一倍以备不时之需,应该是足够 NT4.0 操作系统整个生命周期使用了。

所以,他选择了 32GB 作为 FAT32 格式化的极限容量。但 Plummer 也表示,他当时打算的是将这作为一个临时化的决策;孰不料却成为了永久性解决方案,一直影响到了 25 年后的今天。“这是我犯下的,一个不能被原谅的致命错误......归根结底,这是一个简单的缺乏远见的问题,再加上临时解决办法变成永久性解决方案的老问题。”

不过好在如今 NTFS 和 exFAT 格式的普及已经破除了 FAT32 所带来的限制。





热议






软盘那一丢丢容量的年代,FAT32的设计思想没什么毛病。是时代变化太快那个时候摩尔定律还没有像现在这么耳熟能详

只能说计算机的发展速度超出了想象
为什么不中途提交代码修改放到下一次windows update?


卫剑钒,开源圈的“世外高手”

2021-01-05

DB-Engines 2020年度数据库:PostgreSQL

2021-01-05

Linux 5.11 rc2太小,Linus:假期大家都忙着干饭

2021-01-05



觉得不错,请点个在看

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存