我需要在C中创建自己的文件系统实现。我计划创建类似于FAT系统的系统。我们获得了一个大小为10MB的文件,它充当我们自己的“磁盘”。我知道FAT表存储簇号,根目录存储关于我们创建的每个文件的其他相关信息(例如文件名,大小,上次修改的日期和时间,FAT中的起始块等)。但是我很困惑如何将簇号转换为磁盘上数据区域中的物理地址。内存转换如何在FAT文件系统中工作?
例如,假设根目录中的条目表示文件在FAT表中的块100中开始,并且在FAT表的块100中是整数327,这是文件的下一个簇位于。这些地址如何转换为磁盘数据区域中的物理地址?这些物理地址在哪里翻译和存储?
没有。根目录将有关文件的信息存储在根目录中。 FAT表存储有关您的文件的元数据。起始簇,大小,文件名,等等等等等等。 – 2014-11-20 21:39:31
如果您想模拟该体系结构,则可能需要查找FAT如何工作的旧DOS 3或4时代参考。我同意马克,你不太对。 – 2014-11-20 21:57:43