Ext2文件系统分区数据结构

来源:互联网 发布:jquery 同步加载js 编辑:程序博客网 时间:2024/05/23 13:39

Ext2文件系统的布局:

磁盘的不同分区中可能对应的是不同的文件系统。任何Ext2分区中的第一个块从不受Ext2文件系统的管理,因为这一块是为分区的引导扇区所保留的。该块称为是引导块。任何一个磁盘分区中都有一个引导块。

Ext2分区的其余部分分成块组(block group),每个块组的分布图如图所示。正如你从图中所看到的,一些数据结构正好可以放在一块中,而另一些可能需要更多的块。在Ext2文件系统中的所有块组大小相同并被顺序存放,因此,内核可以从块组的整数索引很容易地得到磁盘中一个块组的位置:


1.    引导块:在系统启动过程中,根据系统引导设置,该分区引导块的内容被读入内存执行,负责启动操作系统,启动完成之后,引导块不再使用。虽然每一个磁盘分区中的第一个块组都是引导块,但是并不是所有的分区都用作引导设备,不用于引导的分区引导块中可以不含有代码。

2.    每个块组中的超级块和组描述符表都相同。前者记录整个文件系统的管理信息;后者记录每个块组的描述符。系统启动时,只有第一个块组中的超级块和组描述符表被读取到内存,其他块组中的数据作为冗余备份。

3.    超级块是文件系统中最重要的数据。超级块包含物理块和i节点的分配情况以及文件系统安装、检查情况等基本参数,描述整个文件系统的分布情况,也用于空闲i节点和物理块的分配和回收。超级块被同时记录在整个文件系统的每一个块组中,尽可能保证它的安全。超级块可分为磁盘超级块和内存超级块,磁盘超级块静态存放在外部存储器,内存超级块在文件系统启动时,由外部超级块及磁盘索引节点初始化形成,除了包含外部超级块所记录的信息之外,还增加了描述文件系统当前状态的动态信息和指向文件系统缓冲区的指针。

4.    ext2系统采用位图来描述空闲物理块和i节点。分别称为块位图和i节点位图,记录本块组数据区中物理块和i节点区中i节点的使用情况。

5.    i节点区存放该块组中的索引节点,并按号的大小存储。索引节点表通常占用多个数据块。

6.    数据区中存放文件系统中的各种物理块,可以存放直接块和各种间接块等文件内容,也可以用来存放各级间接块的地址等数据。

注1:Ext2文件系统是由实用程序mke2fs创建的。

注2:VFS中超级块主要存储与文件系统相关的信息,VFS中的不同超级块对象对应着不同的实际文件系统。VFS就相当于一个软件层,和VFS相关数据结构是存放在内存中的,比如超级块结构等等。

0 0
原创粉丝点击