l有预分配耗时 l 1 2 4 5 12 21 46 I无预分配耗时 l l 2 2 5 lO 25 45
根据数据得到的文件系统操作时间比较图如图4.5所示。
二"nm黻Wte枷.1locam
I
/j— I /
霉 彳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,其中每个雕录项为链表上的一个缔点,顺序存储在链表中。对于索引结 点也是如戴。
O 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文件系统索引算法优化