码迷,mamicode.com
首页 > 其他好文 > 详细

VFS对象总结

时间:2015-12-09 11:51:45      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

超级快(super block)对象、iNode对象、file对象、dentry对象:

 

1、超级块对象和inode对象分别对应有物理数据,在磁盘上有静态信息。而目录项对象和文件对象描述的是一种关系,前者描述的文件与文件名的关系,后者描述的是进程与文件的关系,所以没有对应物理数据。

eg:有三个不同的进程打开同一个文件,其中有两个进程使用了相同的硬链接。三个进程拥有各自的file object,而只有两个dentry(同一个硬链接对应一个dentry,dentry不随进程打开文件而增加或改变)。两个dentry都指向同一个inode。

2、进程每打开一个文件,就会有一个file结构与之对应。同一个进程可以多次打开同一个文件而得到多个不同的file结构,file结构描述被打开文件的属性,如文件的当前偏移量等信息。

3、两个不同的file结构可以对应同一个dentry结构。进程多次打开同一个文件时,对应的只有一个dentry结构。

4、在存储介质中,每个文件对应唯一的inode结点,但是每个文件又可以有多个文件名。即可以通过不同的文件名访问同一个文件。这里多个文件名对应一个文件的关系在数据结构中表示就是dentry和inode的关系。

4)Inode中不存储文件的名字,它只存储节点号;而dentry则保存有名字和与其对应的节点号,所以就可以通过不同的dentry访问同一个inode。

5)不同的dentry则是同个文件链接(ln命令)来实现的

VFS对象总结

标签:

原文地址:http://www.cnblogs.com/licongyu/p/5031924.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!