RT-Thread内存管理器
在计算系统中,一般需要一定的存储空间来存放变量或中间数据,按照存储方式来分类可以分为两种,内部存储空间和外部存储空间。内部存储空间通常访问速度比较快,能够随机访问(按照变量地址)。这一章主要讨论内部存储空间的管理。
实时系统中由于它对时间要求的严格性,其中的内存分配往往要比通用操作系统苛刻得多:
首先,分配内存的时间必须是确定性的。一般内存管理算法是搜索一个适当范围的空间去寻找适合长度的空闲内存块,然而这对于实时系统是不可接受的,因为实时系统必须要保证内存块的分配必须在确定的时间内完成,否则实时任务在对外部事响应也将变得时间不可确定,例如一个处理外部数据的例子:
当一个外部数据达到时(通过传感器,或者一些网络数据包),为了把它提交给上层的任务进行处理,它可能会先申请一块内存,把数据块的地址附加上,还可能有,数据长度,以及一些其他信息附加在一起(放在一个结构体中),然后提交给上层任务。
下载附件 4_RT-Thread Memory_Management.pdf