puppy居
puppy居士
posts - 41,comments - 27,trackbacks - 0

VFS中进程(process)、filedentryinode之间的关系

R.wen

       下图(LDD3fig12-2)清晰地描述了这几者之间的关系。

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

       两个不同的file结构可以对应同一个dentry结构。进程多次打开同一个文件时,对应的只有一个dentry结构。Dentry结构存储目录项和对应文件(inode)的信息。

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

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

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

R.wen

 

       下图(LDD3fig12-2)清晰地描述了这几者之间的关系。

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

       两个不同的file结构可以对应同一个dentry结构。进程多次打开同一个文件时,对应的只有一个dentry结构。Dentry结构存储目录项和对应文件(inode)的信息。

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

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

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

posted on 2008-08-22 15:14 puppy 阅读(685) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。