系统运行,少不了做些内存操作,MemAlloc / MemFree,就要实行内存管理。
以LiteOS为基础,所以设计上需要看LiteOS的相关文档 https://support.huaweicloud.com/LiteOS/index.html
在HI3559V200 SDK开发包中也有liteos内核开发文档,其中也描述了内存管理算法。
网页资料看https://support.huaweicloud.com/kernelmanual-LiteOS/zh-cn_topic_0145350130.html
基本概念
内存管理模块管理系统的内存资源,它是操作系统的核心模块之一。主要包括内存的初始化、分配以及释放。
在系统运行过程中,内存管理模块通过对内存的申请/释放操作,来管理用户和OS对内存的使用,使内存的利用率和使用效率达到最优,同时最大限度地解决系统的内存碎片问题。
Huawei LiteOS的内存管理分为静态内存管理和动态内存管理,提供内存初始化、分配、释放等功能。
动态内存:在动态内存池中分配用户指定大小的内存块。
优点:按需分配。
缺点:内存池中可能出现碎片。
静态内存:在静态内存池中分配用户初始化时预设(固定)大小的内存块。
优点:分配和释放效率高,静态内存池中无碎片。
缺点&#