曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 5797|回复: 0
打印 上一主题 下一主题

ext2 文件系统结构与目录文件及常规文件存储方法

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2010-5-28 23:29:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
EXT2 文件系统文件管理概念图如下所示:

对于一个磁盘分区来说,在被指定为相应的文件系统后,整个分区被分为 1024,2048 和 4096 字节大小的块。根据块使用的不同,可分为:
      超级块(S): 这是整个文件系统的第一块空间。包括整个文件系统的基本信息,如块大小,指向空间 inode 和数据块的指针等相关信息。
      inode块(I) : 文件系统索引。它是文件系统的最基本单元,是文件系统连接任何子目录、任何文件的桥梁。每个子目录和文件只有唯一的一个 inode 块。它包含了文件系统中文件的基本属性、存放数据的位置等相关信息。
      数据块 : 具体存放数据的位置区域。为了提高目录访问效率,Linux 还提供了表达路径与 inode 对应关系的 dentry 结构。它描述了路径信息并连接到节点 inode,它包括各种目录信息,还指向了 inode 和超级块。
就像一本书有封面、目录和正文一样。在文件系统中,超级块就相当于封面,从封面可以得知这本书的基本信息; inode 块相当于目录,从目录可以得知各章节内容的位置;而数据块则相当于书的正文,记录着具体内容。

每个文件有两部分组成: 一部分是 inode 块,另一部分是数据块,数据块用来存储数据。inode 块用来存储数据索引信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。操作系统根据用户指令,通过 inode 值就能很快找到相对应的文件。在 Linux 下可以通过 "ls -li" 命令查看文件的 inode 信息。硬连接和源文件具有相同的 inode 。

目录文件及常规文件的存储方法
下图是目录文件及常规文件存储概念图:

在上图中,inode 值为 3920 的文件是目录文件,其数据区位置是 6829。在目录文件的数据区中,记录着该目录下的各种文件名和 inode 之间的对应关系。如在目录数据区中 3920 记录着当前目录 ".“ ,15 记录着上级目录 ”..“,以及 Xyz 文件对应的 inode 位置,其中 Xyz 文件对应的 inode 为 8102,而在 8102 中,记录着文件真正的数据位置 9023 。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-19 20:08 , Processed in 0.074426 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表