• 沒有找到結果。

霉 彳7

在文檔中 硕士学位论文 (頁 42-48)

l有预分配耗时 12 21 46 I无预分配耗时 lO 25 45

根据数据得到的文件系统操作时间比较图如图4.5所示。

二"nm黻Wte枷.1locam

/j

霉 彳7

一...o=。/ /j7

魏●l|国l

图4-5Ext2文件系统写操作时间比较图

38

硕士学位论文 第四章Ext2文件系统的机制优化

根据以上的数据及时间比较图可知,采用数据块预分配机制的Ext2文件系 统与不采用数据块预分配机制的Ext2文件系统相比较,写操作消耗时间基本上 变化不大,但是从存储空间的角度分析,不采用预分配机制的结果就可以节省相 当一部分的空间,所以总体来说达到了不影响执行效率但减小开销的目的。而且 从图中可以看出,在写入文件大小为16K.64K的范围内时,不采用预分配机制 所消耗的时间少于采用预分配的执行时间,而嵌入式系统的系统文件一般大小为 十几K到几十K,那么不采用预分配机制在一定程度上还提高了写操作的效率。

4.6本章小结

本章主要针对Ext2文件系统的结构进行研究,进而对Ext2文件系统的数据 块组结构进行分析,然后从文件系统的理论结构和源代码入手,进行实际改造优 化。本章提出了对Ext2文件系统的数据块预分配机制进行优化的方案,通过取 消文件系统原有的预分配机制来达到优化的目的,最后,本文通过理论分析了该 方案的可行性,并用实验证明了这一点。

碗士学位论文 第五章Ext2文件系统索引算法优化

第五章Ext2文件系统索引算法的优化

索雩|黠于文锋系统采说是至关重要静,一今文释系绕瓣有关Ext2索弓l结点 的数据结构在前面一章中融作介绍,而本章主要针对Ext2文件系统的索引机制 疆及素等|算法遴锯臻究,在瑰有鹣文传系统缝擒土提出改整豹索孳|算法【3毅。并 掇出在B十树结构中的批量结点插入优化思想,从而提高索引效率。

5.1 Ext2文件系统的存储结构

现在文件系统常用的索引结构有链表式索引和B+树索引两种。在EXT2文 传系统中,是采翅链表鲍方式保存嚣录帮文锌故索引f39】。Ext2爨渌项鸵农局懿 图5—1,其中每个雕录项为链表上的一个缔点,顺序存储在链表中。对于索引结 点也是如戴。

15 55

图5-1 Ext2目录项的布局图

5.2Ext2文件系统的索引方法

目前,Ext2文件系统普遍采用基于链表结构的的二分查找法f40】。二分查找 又稼摄半粪我,它是一秘效率较蠢戆查找方法。二分查找要求热下:

1.线性表是有序表,即表中结点按关键字有序;

2.要惩走量伶荛表的存褚结掇。

5.2.2二分蠢找的基本思想

二分焱找的基本思想H11是:(设R[10w..hi曲】是当前的凌找区间)

40

硕士学位论文 第五章Ext2文件系统索引算法优化

硕士学位论文 第五章Ext2文件系统索引算法优化

3.对磁盘等巍接存取设备,还可以对顺序文件进行摘值查找和跳步畿找;

4.=分查找只适用顺序存储结梅。为保持表的有序魅,在顺摩结构:璧搔入 和删除都必须移动大量的缩点。因此,二分查找特别适用予那种一经建立就很少 改动、两叉经常需要查找的线性表。

考虑到上述缺点,本文提出了基于B十树的Ext2文件系统的索引方法。

5.3基子B+树的优亿方法

5.3.1 B+掰及其查找

B+耱转1,蛸是一耱平衡多路查找褥,麓缀好静应届于文俘系统巾,图5-2是 一棵3阶B+树的模型。

图5-2一棵3阶B+树 由图5,2可以蒋出B+树是这样一棵树:

l。有n棵子檄熬结点孛含骞n令关键譬:

2.所有的叶子结点中包含了全部关键字的信息,及指向这些信息关键字纪 录的指针,并且时予结点零身依关键字鲍大小是小攀《太颞黪链接;

3.所商非终端结点可以看成索引部分,结点中仅含有熊子树节点中的最大 关键字;

4.每个叶子绪点之问也是相互连接的;

对于B+树进行查找可以采用两秘方法;一秘是从最小关键字越顺序查找;

另外一种是从根结点开始,进行随机查找。

5.3.2采翔B+祷结檎优{l:Ext2文伴系统

对Ext2豹索孳l避嚣改遮豹方案始下:

1.由I节点号到I节点地址。在B+树的结构中,每一个非终端节点的结构

硕士学位论文 第五章Ext2文件系统索引算法优化

中的I节点号,即关键字用来进行查询。在B+树上查找关键字的过程如下:首先 从根开始,根据根节点指针找到其所指的节点;然后根据此节点的关键字(结构中 的key)判断是否与指定值相等,若不相等则依据此节点的指针(结构中的p仃)搜 寻子树的节点;依次类推,直至找到指定值的I节点地址(结构中的redptr)为止。

由I节点号到I节点地址的B+树非终端节点的结构如图5.3所示。

图5-3 B+树非终端节点的结构

2.三级索引的间接寻址。其B+树的非终端节点的结构如下所示。结构中的 逻辑块号即为关键字,由逻辑块号组织B+树,并主要由逻辑块号来进行查询。

其查找过程M1)。只是关键字(结构中I拘key)为逻辑块号,最后找到的值(结构中

[幂Jred[I劬为逻辑块号相对应的物理块号。三级索引qhB+树的非终端节点的结构'如

’:一

图5_4所示。

图5-4三级索引中B+树的非终端节点的结构

经改造后的Ext2文件系统的索引结构体系图如图5—5所示。

硕士学位论文 第五章Ext2文件系统索引算法优化

在文檔中 硕士学位论文 (頁 42-48)

相關文件