● 摘要
现代嵌入式产品功能不断增强,对系统的资源分配和运行管理以及嵌入式软件的开发都提出了更高的要求。引入RTOS(Real Time Operating System,实时操作系统)能够有效地解决这些问题。RTOS提供任务管理、任务间通信、内存管理等系统功能,增加了系统可靠性,提高开发效率和软件的复用性。RTEMS(Real Time Executive for Multiprocessor Systems,实时多处理器系统)作为一种先进的嵌入式RTOS,有着很好的实时性和可靠性,已经成功应用在军事、航空航天、工业控制等领域,对RTEMS的深入研究有助于进一步改善RTEMS的应用性能,拓宽RTEMS的应用领域。 本文从操作系统原理和体系结构的角度,通过对RTEMS体系结构的分析,从地址映射、静态分配、动态分配三个方面,探讨RTEMS目前内存管理方案的缺陷,比较常见的各种内存管理机制,选取合适的方案对RTEMS内存管理器进行优化:1采用页面模型,为内存管理优化方案提供基础,提供内存保护。2采用“基于Buddy算法的页面管理”解决内存分配的外部碎片问题。3采用“Slab分配器”解决内存分配的内部碎片问题。 根据选取的优化方案,以Intel 386EX为目标平台,对RTEMS内存管理器进行优化。最后使用测试工具CodeTest对优化后的RTEMS内存管理器性能进行测试分析,测试数据表明:优化后的RTEMS内存管理器在空间性能和时间性能上均有明显改善。在时间性能方面,基于Buddy算法的页面管理和Slab分配器比原有的基于Region机制的内存分配速度提高一倍多;在空间性能方面,新的内存管理方案比原有的内存管理机制更好地避免和解决了内存碎片问题。可满足内存管理性能要求较高的弱实时系统的使用。