Ext3文件系统的全部空间被划分为若干个块组,每个块组内的结构都是大致相同的, Ext3文件系统的整体结构及第一个块组的具体结构如图所示。
从上图可以看出,Ext3文件系统的前两个扇区用来存放引导程序,称为引导扇区, 如果没有引导程序则保留不用,一般为空扇区,没有任何数据。
Ext3文件系统的第三个扇区也就是2号扇区,是“超级块”,超级块占用2个扇区, 用于存储文件系统的配置参数(如块大小、总块数和i-节点数)和动态信息(如当前空闲块数和i-节点数)。
块组描述符表用于存储块组描述符,占用一个或者多个块,具体取决于文件系统的大 小。每个块组描述符主要描述块位图、i-节点位图及i-节点表的地址等信息。
为了系统的健壮性,Linux最初在每个块组内都对超级块和块组描述符表做了备份, 但是当文件系统很大时,这将浪费很多空间,尤其是块组描述符表占用的块比较多时,所以后来采用了一种稀疏的方式来存储这些备份,也就是只在块组号是3、5、7的幂的块组 (如1、3、5、7、9、25、49等)内才对超级块和块组描述符表做备份。
通常情况下,只有0号块组的超级块信息被文件系统使用,其他备份只有在主超级块 被破坏的情况下才使用。
块位图用于描述本块组所管理的块的分配状态,块位图中的每一位映射本块组中的一个块,如果某个块对应的位没有设置,那么代表该块未分配,可以用于存储数据;否则, 代表该块已经存放了数据或者该块不能够使用(比如该块号在物理上不存在)。
i-节点位图用于描述本块组所管理的i-节点的分配状态,i-节点位图中的每一位映射本 块组中的一个i-节点,如果i-节点位图中相应的位被置1,代表该i-节点已经使用;否则表示未用。
i-节点用于描述文件的元数椐,每个i-节点对应文件系统中唯一的节点号。
本文系转载,如有侵犯版权问题,请通知。我们立即删除。
转载请注明:成都千喜数据恢复中心 » Ext3文件系统的结构