【发布时间】:2018-02-24 18:51:02
【问题描述】:
在我为 FAT32 制作正式模型的研究过程中,我遇到了一个使我的工作变得非常复杂的实现细节:在集群链的末端允许出现哪些值?
根据Microsoft's specification,“FAT中的空闲簇列表无非就是所有包含值0的簇的列表 在它们的 FAT 簇条目中。”,其推论是 0 不能是簇链末尾的值,只有 EOC 可以在那里。但是,Wikipedia states“否则,如果该值出现在簇链中(例如,在零长度或已删除文件的目录条目中),文件系统实现应该将其视为链结束标记。” 0,引用了一本晦涩的德语书籍的声明。
所以我真的很想问那些使用文件系统的人,他们是否认为 0(和 1)是实现中有效的集群链结束标记。
更新:我检查了 FAT32 的 Linux 内核实现,function for counting free clusters 似乎将全零视为空闲簇,不多也不少。
【问题讨论】:
标签: fat32