在linux 文件系统中,是以块为单位存储信息的,为了找到某一个文件在存储空间中存放的位置,用i 节点对一个文件进行索引。I 节点包含了描述一个文件所必须的全部信息。所以i节点是文件系统管理的一个数据结构。
文件系统三个部分,一个是超级块,存放文件系统本身的信息;一个是i节点表,文件的属性保存在这个区中;最后一个是数据区,文件的内容保存在这个区中。
扩展资料
文件属性的存储,内核先在i节点表中找到一个空的节点(假设是47,表示的是i节点表中第9个位置的i节点),将文件的属性激励进去。
文件内容的存储。一个文件的内容往往需要许多的存储块(假设是3个块)才能容纳,而这些存储块是不连续的。内核会从自由块的列表中找出3个自由的存储块,分别是块300,100,200(内核找块的顺序不一定是从小到大排的)。内核就会把数据一次复制到块300100,200中。
将文件存储文件内容的信息记录到i节点中。上面已经将文件依次放到块300,200,100中了,所以在i节点的磁盘分布区中依次记录这3个标号,代表文件存放的地方以及组合顺序。
在Linux系统中,每个文件都有一个相关的i节点,保存着所有者身份和权限以及时间信息。注意:i节点不保存文件名,文件名是保存在一个叫目录项的dentry里。可以用ls -i与stat加文件名来查看文件的i节点信息,
Linux内核经常是以i节点信息来识别文件的,每个文件的i节点编号是独一无二的!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)