定制论文·联系客服·网站地图·收藏本页·设为首页
计算机应用当前位置:中国论文库 > 计算机论文 > 计算机应用> 正文

Linux文件系统结构分析

时间:2011-08-19作者:王红来源:中国论文库
字号:T|T

  摘 要:阐述了Linux系统的文件结构类型,指出了EXT2是在Linux系统中最为常用的文件系统。  分析了EXT2文件系统的磁盘布局、索引结点及目录结构,研究了EXT2系统实现按名

标签:

  摘 要:阐述了Linux系统的文件结构类型,指出了EXT2是在Linux系统中最为常用的文件系统。

  分析了EXT2文件系统的磁盘布局、索引结点及目录结构,研究了EXT2系统实现按名存取的方法,文件读取速度更高效。

  关键词:EXT2文件系统;索引结点;混合索引;文件目录

  Linux系统的一个重要的特征就是支持多种不同的文件系统,如:EXT、FAT、EXT2、EXT3、SYSV等。目前,Linux主要使用的文件系统是EXT2和EXT3文件系统,也是Linux用户最常用的文件系统。

  各种Linux的系统发布都将EXT2作为操作系统的基础。EXT2文件系统支持标准UNIX文件类型:普通文件、目录文件、特别文件和符号链接。

  1 EXT2磁盘布局

  EXT2和其他逻辑块文件一样,由逻辑块序列组成,根据用途划分,这些逻辑块通常有:引导块、超级块、inode区及数据区等。

  EXT2将其所占的逻辑分区划分为块组,由一个引导块和其他块组组成,每个块组又由超级块、组描述符表、块位图、索引节点位图、索引节点表、数据区构成,如图1所示。

  图1 EXT2磁盘布局在逻辑空间的映像每个块中保存的这些信息是有关EXT2文件系统的备份信息。当某个块组的超级块或inode受损时,这些信息可以用来恢复文件系统。

  2 EXT2索引结点

  EXT2文件系统中的数据是以数据块的方式存储在文件中的。这些数据块的大小相同,其大小在EXT2创建时设定。磁盘上存储文件的基本单位是簇。一个簇也称为一个磁盘块,它通常是2n个磁盘扇区大小。

  EXT2文件系统用一个inode数据结构描述系统中的每一个文件,定义系统的拓扑结构。一个inode描述了一个文件中的数据占用了哪些块以及文件的访问权限、文件的修改时间和文件的类型。EXT2文件系统中的每一个文件都用一个inode描述,而每一个inode都用一个独一无二的数字标识。文件系统的inode都放在一起,在inode索引表中。

  EXT2块组中组描述符中的项称为组描述符,用于描述某个块组的整体信息。每个块组都有一个相应的组描述符来描述它,所有的组描述符形成一个组描述符表,并在使用时被调入块高速缓存。

  EXT2中每个块组有两个位示图块,一个用于表示数据块的使用情况,叫数据块位图;另一个用于表示索引结点的使用情况,叫索引结点位图。位图中的每一位表示该组中一个数据块或一个索引块的使用情况,用0表示空闲,用1表示已分配。

  在Linux的EXT2文件系统中,索引结点inode分为两类,即磁盘索引结点和内存索引结点,通常也分别叫做EXT2 inode和VFS inode。

  (1)磁盘索引节点

  磁盘索引节点是指存放在磁盘上的索引节点。每个文件有唯一的一个磁盘索引节点,它主要包括以下内容:文件所有者标识号:指拥有该文件的文件主或同组的标识符。

  文件类型:指明文件是普通文件、目录文件还是特别文件等类型。

  文件物理地址:指出数据文件所在的物理块号。如在Linux系统中,通过15个地址项来表明文件所在的物理块号。

  文件存取权限:用户对文件的操作类型,如读、修改、执行等。

  文件大小:文件所占有的字节个数。转贴于中国论文库 http://www.lwkoo.com

相关阅读

推荐论文

热门

最新

推荐