linux操作系统中EXT2文件的组成.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:4 大小:226KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

linux操作系统中EXT2文件的组成.pdf

linux操作系统中EXT2文件的组成.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

万方数据linux操作系统中EXT2文件的组成l引导块1分Ig.11分区N⋯i硬盘1分区21分区3来颂1’2引言ext2文件系统整体结构组地(1.武汉大学计算机学院,湖北武汉430072;2.孝感学院计算机与信息科学学院,湖北孝感432000)随着Linux操作系统在服务器领域和嵌入式领域中的广泛应用,ext2作为linux操作系统上的标准文件系统也得到了广泛的支持和考验.其精巧、灵活的设计,在存取中小文件时的性能非常好,极大地满足了人们对数据存储的要求.同时,ext2文件系统也是其后继ext3和ext4日志文件系统的基础.剖析ext2文件系统,对深入理解linux操作系统的文件存储方式很有帮助.1硬盘首先分区,然后格式化,才能使用.格式化的过程会在硬盘上建立很多块,为了管理这些块,文件系统将其分组,每个组称为块组(blockgroup).每个块组又由六部分组成(见图1):超级块(superbitmap)、索引位图(inodebitmap)、索引表(inodeI超级块是硬盘分区中最重要的结构,是一个分区的全局数据信息,描述文件系统的目录和文件的静态分布情况以及各种组成结构的尺寸、数量.一旦超级块损坏,操作系统将无法读取该分区的信息,整块分区的数据就会丢失.当有程序对ext2文件系统执行一致性检查时,就会将块组0中的超级块拷贝到其他块组中,这些多的拷贝信息可以帮助系统恢复分区的信息,从而减少损失.正常情况下,linux系统只会读在linux内核源代码中超级块的数据结构定义是ext2一super—block,超级块的结构见图2,其结构体较长,具体字段不罗列出来.超级用户保留块(S—r—blocks—count)字段是为超级用户保留的总块数.当硬盘分区被其他用户有意或无意的填满后,将无法登陆.超级用户则可以利用这些保留的空间登陆,编辑配置文件,解决相应问题.第一个数据块块号(s_first—data_block)的值在块大于1kB的文件系统里总是0,当块大小是1这个数值为1,因为超级块大小正好是1块大小“一log—block—size)字段的值显示了块的大小,计算方法是1024<<s—log—block—size,如果值是0,块的大小就是1024bytes,这就是最小块.通常这个字段的值是2,块大小为4096正好是4块总数(s_blockscount)和每个块组中的块数(S_blocks_per_group)两字段可以计算出块组总数ceil((s_group)[2].s_blocks__coum字段里面包含了整个分区所有块,包括描述信息所占用的块,例如:超级块、块组描述符、位图块都会在分区上占用一定数量的块,而这些块不在块组管理范围内,所以要减去s_first—data_block.分区划分块组时最后可能多出一些块,系第33卷第4期武汉工程大学学报Wuhan摘要:EXT2文件系统是linux操作系统的重要组成部分,其核心由超级块、组块描述表、索引节点表组成.通过源代码,剖析了这几个关键部分的数据结构和作用.介绍了linux操作系统寻找文件的过程.关键词:超级块l块组描述符,索引节点IEXT2文件系统Oblock)、块组描述表(grouptable)、块位图(blocktable)和数据块(data超级块取块组0中包含的超级块.kB时,—blocks_count—s_first_data_block--1)/s—blocks_per作者简介:朱颂(1982一),男,湖北云梦人,硕士研究生.研究方向:操作系统.2011年04月J.文章编号:1674—2869(2011)04—0094一03中图分类号:TP316文献标识码:Adoi:10.3969/j.issn.1674-2869.2011.04.024descriptorblock)c11.组块0组块l组块N⋯组块块位图索引位图索线表数据块描述表图1硬盘、分区、块组的组成1.1kB.bytes,K.收稿日期:2010—11—29Inst.Tech.V01.33Apr.NO.42011/dcv/sdal/dev/sda5/dev/sda6Fig.1Compositionofharddrive,Zoningandblockgroup,万方数据剿删⋯//{77统将最后多余的块划分到一个块组中,所以最后计算结果向上取整.块组中索引节点数“一inodes—per—group)也可以计算出该索引节点所在的块组号:floor((ino一挂载计数“一rant—count)表示文件系统从最近一次完整校验后被安装的次数,最大挂载计数旦达到最大次数,将进行文件系统检测.每一个块组都有一个块组描述符对应,若干个块组描述符集中在一起按顺序存放,就是块组描述符表.在分区中的地位仅次于超级块,也是分区