嵌入式系统嵌入式系统/ARM技术中的技术中的RTOS动态分区内存管理机制的优化动态分区内存管理机制的优化
设计设计
引 言 在嵌入式领域中,嵌入式实时操作系统(RTOS)正得到越来越广泛的应用。采用嵌入式实时操作系统
可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性
和可靠性。内存资源作为嵌入式系统中极为重要的资源之一,其管理机制历来是嵌入式系统设计的重点和难
点。内存管理机制的优劣程度极大地影响着嵌入式系统的整体性能,因此在嵌入式RTOS的内存管理机制中必须
满足以下3个要求: ①实时性。在嵌入式RTOS中不仅要求调度机制的实时性,资源的分配和回收的实时性
也十分重要。 ②可靠性。嵌入式系统的应用领域决定了嵌入式RTOS必须具有高可靠性,而内存管理
引 言
在嵌入式领域中,嵌入式实时操作系统(RTOS)正得到越来越广泛的应用。采用嵌入式实时操作系统可以更合理、更有效
地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。内存资源作为嵌入式系
统中极为重要的资源之一,其管理机制历来是嵌入式系统设计的重点和难点。内存管理机制的优劣程度极大地影响着嵌入式系
统的整体性能,因此在嵌入式RTOS的内存管理机制中必须满足以下3个要求:
①实时性。在嵌入式RTOS中不仅要求调度机制的实时性,资源的分配和回收的实时性也十分重要。
②可靠性。嵌入式系统的应用领域决定了嵌入式RTOS必须具有高可靠性,而内存管理的可靠程度直接影响RTOS的可靠
性,因此内存管理的可靠性也必不可少。
③高效性。由于嵌入式系统资源的稀缺性,因而高效的资源管理机制也同等重要。
1 动态分区内存管理机制
1.1 动态分区内存管理概述
在许多小型嵌入式系统中并未实现虚拟内存机制,动态分区内存管理机制仍然是首选。分区存储管理是满足多道程序设计
的最简单的存储管理方法,它允许多个用户程序同时存在系统内存中,即共享内存空间。早期的分区存储管理采用固定分区的
方法,把内存空间分成若干个大小不等的区域,称为分区。每个用户程序(作业、进程)调入内存后,占用其中1个分区,程序
运行完成后释放该分区。这种存储管理方法的主要问题是内存使用效率极低,很快就被淘汰了。取而代之的是动态分区存储管
理技术。图1显示的是动态内存管理的数据结构。
1.2 动态分区内存分收算法及其性能分析
在动态内存分配机制中一般采用两种设计方案:最佳适应算法和首次适应算法。最佳适应算法要求所有的空闲内存块按照
内存块的大小,由小到大链接在一起。首次适应算法中所有的空闲内存块都是按地址由小到大链接的。图2显示了这2种算法
的流程(假设系统申请的内存块大小为n)。