LiteOS内存管理模块 LiteOS内存管理模块
发布时间
阅读量:
阅读量
LiteOS在内存管理中采用了静态与动态存储策略以满足不同的应用需求。其中BOX类似于固定大小的字节块而DLINK则类似于可变大小的字节池两者在内存组织上存在显著区别。具体而言,在静态存储策略下所有存储区域均具有相同的容量而在动态存储策略中允许存储空间容量进行调节以适应程序运行时的需求变化。
一、BOX分配方式
BOX算法中内存块的大小取决于初始化时刻,并且是恒定的。该系统采用了magic赋值法来实现内存保护功能,在每个内存块申请时预先设置一个固定字作为标记。
1、使用结构体
LOS_MEMBOX_INFO只是在连续存储空间开始作为头信息
typedef struct
{
UINT32 uwBlkSize; /**<Block size*/ 块大小
UINT32 uwBlkNum; /**<Block number*/ 块个数
LOS_MEMBOX_NODE stFreeList; /**<Free list*/ 维护可申请空闲内存的地址链表
} LOS_MEMBOX_IN
全部评论 (0)
还没有任何评论哟~
