3

Reiser、NTFS 等文件系统在哪里存储文件表?我们正在考虑编写我们自己的文件系统,并且想知道我们是否应该使用单个文件来使用 btree 来保存它,或者使用其他东西。

有什么建议吗?这比任何事情都更像是一种学习练习。

编辑:删除 NFS,并替换为 NTFS

4

2 回答 2

1

Brian Carrier 的文件系统取证分析

让我向您推荐这本书,作为了解文件系统布局基础的一个很好的起点。是的,书名谈到了取证,但这本书在解释磁盘结构方面做得很好。这比试图通过阅读源代码来掌握它们要容易得多,其中大部分更关注放置和优化,而不是磁盘本身的结构。

于 2010-05-29T03:23:08.677 回答
0

有几种不同的文件系统编码方案,在速度、简单性、对损坏的鲁棒性等方面进行了各种权衡。许多文件系统,尤其是 Unix 派生的各种文件系统,都是基于inode的概念。ReiserFS 实际上确实在其中包含了一个 inode 概念,但是以与早期系统不同的方式将它们粘合在一起。

ReiserFS 的简要说明在这里。虽然,如果您想阅读关于基于 inode 的基本设计概念的真正优秀概述,我强烈推荐《4.4 BSD 操作系统的设计与实现》一书。它有一两章非常好,贯穿了整个事情。

构建文件系统的一种完全不同的方法类似于臭名昭著的DOS FAT 文件系统。FAT 系统根本不基于 inode,而是使用集群链接技术来映射文件。尽管 FAT 文件系统设计按照今天的标准有点笨拙,但它确实具有实现非常简单的优点,特别是在其原始 FAT12 或 FAT16 变体中,如果您可以忍受它的局限性。

于 2010-05-29T03:17:51.167 回答