资源描述:
《Linux文件系统结构分析.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Linux文件系统结构分析摘要:阐述了Linux系统的文件结构类型,指出了EXT2是在Linux系统中最为常用的文件系统。分析了EXT2文件系统的磁盘布局、索引结点及目录结构,研究了EXT2系统实现按名存取的方法,文件读取速度更高效。关键词:EXT2文件系统;索引结点;混合索引;文件目录Abstract:DescribethetypeofthefilestructureofLinuxsystems,pointingoutEXT2ismostcommonlyusedinLinuxfilesystem.Analysisofthedisklayou
2、t,indexnodesandEXT2filesystemdirectorystructure.StudyaboutthemethodtoachieveaccesstothefilebynameinEXT2systemwhichmakethefilereadmorespeedandefficient.Keywords:EXT2filesystem,indexnode,mixedindex,filedirectory引言Linux系统的一个重要的特征就是支持多种不同的文件系统,如:EXT、FAT、EXT2、EXT3、SYSV等。目前,Linux
3、主要使用的文件系统是EXT2和EXT3文件系统,也是Linux用户最常用的文件系统。Linux最早的文件系统是Minix,但是专门为Linux设计的文件系统——扩展文件系统第二版或EXT2被设计出来并添加到Linux中,这对Linux产生了重大影响。EXT2文件系统功能强大、易扩充、性能上进行了全面优化,也是所有Linux发布和安装的标准文件系统类型。每个实际文件系统从操作系统和系统服务中分离出来,它们之间通过一个接口层:虚拟文件系统或VFS来通讯。VFS使得Linux可以支持多个不同的文件系统,每个表示一个VFS的通用接口。由于软件将Lin
4、ux文件系统的所有细节进行了转换,所以Linux核心的其它部分及系统中运行的程序将看到统一的文件系统。Linux的虚拟文件系统允许用户同时能透明地安装许多不同的文件系统。在Linux文件系统中,作为一种特殊类型/proc文件系统只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。/proc文件系统是一个伪文件系统,用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。各种Linux的系统发布都将EXT2作为操作系统的基础。EXT2文件系统支持标准UNIX文件类型:普通文件、目录文件、特别文
5、件和符号链接。1.EXT2磁盘布局EXT2和其他逻辑块文件一样,由逻辑块序列组成,根据用途划分,这些逻辑块通常有:引导块、超级块、inode区及数据区等。EXT2将其所占的逻辑分区划分为块组,由一个引导块和其他块组组成,每个块组又由超级块、组描述符表、块位图、索引节点位图、索引节点表、数据区构成,如图1所示。图1EXT2磁盘布局在逻辑空间的映像每个块中保存的这些信息是有关EXT2文件系统的备份信息。当某个块组的超级块或inode受损时,这些信息可以用来恢复文件系统。2.EXT2索引结点EXT2文件系统中的数据是以数据块的方式存储在文件中的。这
6、些数据块的大小相同,其大小在EXT2创建时设定。磁盘上存储文件的基本单位是簇。一个簇也称为一个磁盘块,它通常是2n个磁盘扇区大小。EXT2文件系统用一个inode数据结构描述系统中的每一个文件,定义系统的拓扑结构。一个inode描述了一个文件中的数据占用了哪些块以及文件的访问权限、文件的修改时间和文件的类型。EXT2文件系统中的每一个文件都用一个inode描述,而每一个inode都用一个独一无二的数字标识。文件系统的inode都放在一起,在inode索引表中。EXT2块组中组描述符中的项称为组描述符,用于描述某个块组的整体信息。每个块组都有一
7、个相应的组描述符来描述它,所有的组描述符形成一个组描述符表,并在使用时被调入块高速缓存。EXT2中每个块组有两个位示图块,一个用于表示数据块的使用情况,叫数据块位图;另一个用于表示索引结点的使用情况,叫索引结点位图。位图中的每一位表示该组中一个数据块或一个索引块的使用情况,用0表示空闲,用1表示已分配。在Linux的EXT2文件系统中,索引结点inode分为两类,即磁盘索引结点和内存索引结点,通常也分别叫做EXT2inode和VFSinode。(1)磁盘索引节点磁盘索引节点是指存放在磁盘上的索引节点。每个文件有唯一的一个磁盘索引节点,它主要包
8、括以下内容:文件所有者标识号:指拥有该文件的文件主或同组的标识符。文件类型:指明文件是普通文件、目录文件还是特别文件等类型。文件物理地址:指出数据文件所在的物理块号