论坛首页 入门讨论版 企业应用

为什么fat32文件系统最大文件不超过4G?

浏览 354 次
该帖已经被评为新手帖
作者 正文
时间:2008-05-02
对于文件读写是依靠FDT(file directory table)和FAT(file allocation table)来定位某一个文件的。我的理解是:每一个目录下面都有一个FDT,记录本目下的子目录和文件(不知道是否准确),FDT不再是 FAT2后面的簇存放,原来有限制表项为256,所以一个目录下面只能存在256个文件或者目录,只有子目录也存在这样的 FDT,这样所有的FDT与FAT配合来寻址文件.
但是为什么文件大小限制为4G呢?文件寻址的单位是簇啊,fat32最大支持64扇区/簇,这样最大文件直可以达到
2^32 * 64 *512 ,为什么是4G呢?还是为了便于管理,故意设置最大支持4G
   
时间:2008-05-03
哎,又被罚分了!
这个贴是新手贴吗?感觉还是有点技术含量滴!以后要注意规则了

查了几天了,现在终于明白了。
在FDT表中最后一个表项记录文件大小,FDT每一个表项32bit,所以文件大小只能是4G了。
FAT32中 FAT表的高四位是保留的,所以最多能寻址的簇是2^28,上面讲错了。
虽然最多可能管理磁盘卷的大小是:2^28 * 64(一个簇最多的扇区数目) *512(一个扇区的大小) = 8T,但是windows只能管理32G
   
0 请登录后投票
论坛首页 入门讨论版 企业应用

跳转论坛:
JavaEye推荐