当前位置: 技术问答>linux和unix
关于文件系统的问题,谢谢回答
来源: 互联网 发布时间:2016-08-08
本文导语: 在一个文件系统里是不是每个目录都有一个索引节点对象和一个目录对象啊?还有就是什么是索引节点对象和目录对象,具体指什么,最好举个例子,谢谢了!!!! | 你需要弄清楚 i节点和文件表项。 弄清...
在一个文件系统里是不是每个目录都有一个索引节点对象和一个目录对象啊?还有就是什么是索引节点对象和目录对象,具体指什么,最好举个例子,谢谢了!!!!
|
你需要弄清楚 i节点和文件表项。
弄清楚这个你就清楚了。
|
这两个概念在ULK里都有很好的描述。
索引点对象(inode)是文件系统用来对文件进行操作的。内核中用结构体struct inode来表示,它包含了文件的属性(比如权限、创建日期等)以及文件的组织。一般情况下,用户不能直接操作inode对象。在Linux的VFS中,文件目录是当做一种特殊的文件,因此也有inode.
文件系统通过文件目录的索引对象把当做一个文件读出来之后,就转换成目录对象(dentry),内核中用struct dentry来描述他。他也包含了一些回调函数,主要是用于对目录操作的。在结构体的成员struct dentry_operations*d_op中。
另外,还有一个对象是file,可能比较熟,是用于进程和文件之间交互的,进程每打开一个文件就有一个file对象,所以一个真实的文件对运行中可能对应着许多file object。
索引点对象(inode)是文件系统用来对文件进行操作的。内核中用结构体struct inode来表示,它包含了文件的属性(比如权限、创建日期等)以及文件的组织。一般情况下,用户不能直接操作inode对象。在Linux的VFS中,文件目录是当做一种特殊的文件,因此也有inode.
文件系统通过文件目录的索引对象把当做一个文件读出来之后,就转换成目录对象(dentry),内核中用struct dentry来描述他。他也包含了一些回调函数,主要是用于对目录操作的。在结构体的成员struct dentry_operations*d_op中。
另外,还有一个对象是file,可能比较熟,是用于进程和文件之间交互的,进程每打开一个文件就有一个file对象,所以一个真实的文件对运行中可能对应着许多file object。