论文部分内容阅读
随着物联网技术的发展,嵌入式实时操作系统得到越来越广泛的应用。嵌入式实时操作系统对动态内存分配的实时性、碎片率、可靠性有更高的要求,因此,动态内存分配已成为嵌入式实时操作系统的一个重要研究内容。现有内存管理一般通过牺牲内存利用率来满足实时性要求,造成了内存资源浪费。此外,由于嵌入式系统处理器一般没有内存管理单元,实时操作系统的内存管理无法对内存进行保护,易造成内存越界访问,降低系统的可靠性。为此,改善内存利用率和内存安全保护功能对于提供动态内存分配性能具有重要意义。 本文针对上述问题,在嵌入式实时系统内存管理算法 TLSF(Two-level Segregated Fit)基础上,针对其内存分配和释放时的不足,以及在内存保护方面的缺陷,研究了在不降低系统实时性的前提下降低内存碎片率的方法,通过加入二级位图算法,提出新的数据结构,添加内存越界访问保护机制,完成了一种新的嵌入式实时系统动态内存管理器ERMM(Embedded Real-time Memory Manager)的设计。主要工作包括: 1)分析了常用嵌入式实时操作系统的动态内存管理算法,对不同的动态内存分配算法(DSA)的实时性及内存碎片率进行了讨论,根据嵌入式实时系统的对实时性及内存碎片率的要求,提出了以TLSF算法为基础的嵌入式实时系统动态内存管理器内存管理方案。 2)通过对TLSF算法进行详细分析,提出了一个新的嵌入式实时系统动态内存分配管理器(ERMM)。针对TLSF算法在小内存分配时效率较低的缺点,提出新的数据结构,对不同大小的内存请求采取不同的分配策略。对小内存请求,采取二级位图算法加快查找速度,并通过以空间换时间的策略降低分配时间,减少外部内存碎片;对大内存请求,采用改进TLSF算法:对其内存分配的―取下限‖切割策略,提出―精确切割‖的改进策略,降低内部内存碎片率;对其内存释放时空闲内存块―立即合并‖策略,提出―延时合并‖的改进策略,提高实时性;在可靠性方面,采取内存越界保护等措施提高内存管理的安全性。 3)将TLSF算法及ERMM在μC/OS-Ⅲ系统上进行实现,在内存碎片率及实时性方面对这两种方法进行实验对比,并对ERMM的内存安全性进行测试。实验结果表明,ERMM动态内存分配管理器具有较好的实时性、较高的可靠性及较低的内存碎片率,可有效提高嵌入式实时系统内存管理的性能。