Linux世界驰骋四——文件系统和设备管理

http://tech.ddvip.com   2007年03月12日    社区交流

本文详细介绍Linux世界驰骋四——文件系统和设备管理

  单一索引表结构已无法满足灵活性和节省内存的要求,为此引出多重索引结构(又称多级索引结构)。在这种结构中采用了间接索引方式,即由最初索引项中得到某一盘块号,该块中存放的信息是另一组盘块号;而后者每一块中又可存放下一组盘块号(或者是文件本身信息)。

  这样间接几级(通常为1~3级),最末尾的盘块中存放的信息一定是文件内容。ext2文件系统就采用了多重索引方式,如图2所示。

  图2 索引节点结构示意图

  图2的左部是索引节点(即I节点),其中含有对应文件的状态和管理信息。一个打开文件的索引节点放在系统内存区,与文件存放位置有关的索引信息是索引节点的一个组成部分,它是由直接指针、一级间接指针、二级间接指针和三级间接指针构成的数组。

  前12项作为直接指针。直接指针所指向的盘块中放有该文件的数据,这种盘块称为直接块。而一级间接指针所指向的盘块(间接块)中放有直接块的块号表。为了通过间接块存放文件数据,核心必须先读出间接块,找到相应的直接块项,然后从直接块中读取数据。

  二级间接指针所指向的盘块中放有一级间接块号表。同样,三级间接指针所指向的盘块中放有二级间接块号表。因此,利用前12个直接指针可以存放的文件不超过12KB。如果文件大小超过12KB,则可以用一级间接指针;若更大,则可用二级间接指针;以此类推,使用三级间接指针最大的文件可以是16GB。

  5.ext2中的目录项

  在ext2文件系统中,目录文件包含有下属文件与子目录的登记项。当创建一个文件时,就构成一个目录项,并添加到相应的目录文件中。一个目录文件可以包含很多目录项,每个目录项(如ext2文件系统的ext2_dir_entry_2)包含的信息如下:

作者:孟庆昌    责编:豆豆技术应用

正在加载评论...