【发布时间】:2012-10-30 06:34:42
【问题描述】:
出于教育目的,我正在推出自己的 FAT 阅读器(允许您浏览驱动器等)。我当前的问题是确定当前的工作目录(例如典型命令提示符中的提示符)。据我所知,目录表没有提供有关您到达那里的路径的信息。 (我一直在按照我找到的here 的标准工作)因此,我目前的方法只是跟踪您通过的每个目录(即基本上每次使用cd <dir> 时,将该值放入列表中,然后删除使用cd ..时的最后一个)
这就是问题所在。假设两条不同的路径将您带到同一个目录。如果您随后向上跟踪.. 目录,则问题变得比仅从列表中删除最后一个目录名称更复杂。如果.. 带你走上你没有走的路,你实际上必须确定一个全新的工作目录。
如果 FAT 不允许无向循环,则此问题将变得无关紧要。 (我相信我读到某些文件系统不允许这种复杂性正是出于简化遍历的原因,但我找不到 FAT 的具体信息)我需要担心这个吗?换句话说,FAT是用树描述的还是用一般图描述的?
作为参考,我正在处理 FAT16 和 FAT32(顺便说一下在 Linux 上的 C 中,但我认为这无关紧要)
【问题讨论】:
标签: graph tree operating-system cycle fat