linux系统——目录,目录项,索引节点(i node)的关系

在看内核0.11文件系统源码时,发现自己的理解有个误区。在 /linux-0.11/fs/inode.c中, iget()函数中有一句 nr = ROOT_INO (ROOT_INO = 1),  就觉得很奇怪,怎么能给inode赋值为1呢,后来发现nr指的是inode号,而不是inode。于是,又翻出自己以前的博文,觉得写的比较清楚明白,希望遇到同样问题的可以参考一下。虽然只是一个小问题,但却会影响我们的理解。

目录,目录项,索引节点的关系
(貌似我在这个问题上纠结了很久,一直搞不清三者的关系,这次经过去我们小组的讨论,终于清晰了)

在Linux操作系统中,目录就是目录文件。

一个目录文件包含了一组目录项,目录项是放在data block中的。

一个 目录项主要包括了文件名和索引节点号,索引节点号是指向索引节点表( system inode table )中对应的索引节点的。
或者这样解释一下目录项( 这是大家一起讨论出来的 ),因为目录可以包含子目录,目录是可以层层嵌套的,所以形成文件路径,而文件路径中的每一部分就是所谓的 目录项(dentry)。
注:内核后来的版本采用ext文件系统时,目录项中就不是存放索引节点号,然后找到索引节点表,再找到索引节点了。而是目录项中存放文件名和一个指向索引节点的指针。

索引节点是文件系统处理文件所需要的所有信息都存放在称为索引节点的数据结构中。主要就是文件的属性,包括链接数、文件所有者、文件建立和修改的时间,文件在磁盘的位置,文件大小、使用权限等等。


原文地址:点击打开链接

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值