I 第7章 内存管理
0 内存控制块
1 建立一个内存分区,OSMEMCREATE()
2 分配一个内存块,OSMEMGET()
3 释放一个内存块,OSMEMPUT()
4 查询一个内存分区的状态,OSMEMQUERY()
5 USING MEMORY PARTITIONS
6 等待一个内存块
10 7 -1 内存管理 我们知道,在ANSI C中可以用malloc()和free()两个函数动态地分配内存和释放内存
但是,在嵌入式实时操作系统中,多次这样做会把原来很大的一块连续内存区域,逐渐地分割成许多非常小而且彼此又不相邻的内存区域,也就是内存碎片
由于这些碎片的大量存在,使得程序到后来连非常小的内存也分配不到
02节的任务堆栈中,我们讲到过用malloc()函数来分配堆栈时,曾经讨论过内存碎片的问题
另外,由于内存管理算法的原因,malloc()和free()函数执行时间是不确定的
在µC/OS-II中,操作系统把连续的大块内存按 分区来管理