论文部分内容阅读
目前,嵌入式Linux的动态内存分配依然采用原有的Lea分配器,无法满足一些嵌入式环境下应用程序对内存分配的速度和效率上的要求,因此对动态内存分配进行优化具有重要的研究价值。
本论文分析了通用内存分配器中一些常用的内存分配策略,针对嵌入式环境下处理速度慢、内存容量小的特点,提出使用域式分配的方法来提高分配速度和减少内存碎片,并在域式分配基础上扩充实现了一些分配策略。这些分配策略虽然令应用程序在内存分配的使用上引入一些限定条件,但却让内存的使用效率大大提高,而域式分配同时也引入了域整体释放的功能,大大减少了程序对单独对象的释放工作,从而很大程度上降低了内存泄漏的可能性。另外,为了提高程序的安全性和可靠性,本文还特别针对这些域式分配策略设计了缓冲区溢出保护功能。
以上述研究工作为基础,本文以自定义内存分配库的形式实现了基于域的多种分配策略。并且在将原先基于工控机的网闸系统移植到嵌入式Linux的过程中,对其中的主要服务程序使用该库进行了优化设计,测试和实验结果表明自定义内存分配库及其实现的分配策略能够显著提高了内存分配的速度和效率,具有了良好的应用效果。