从五大结构体,带你掌握鸿蒙轻内核动态内存Dynamic Memory
摘要:本文带领大家一起剖析了鸿蒙轻内核的动态内存模块的源代码,包含动态内存的结构体、动态内存池初始化、动态内存申请、释放等。 本文分享自华为云社区《鸿蒙轻内核M核源码分析系列九 动态内存Dynamic Memory 第一部分》,原文作者:zhushy。 内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主要包括内存的初始化、分配以及释放。 在系统运行过程中,内存管理模块通过对内存的申请/释放来管理用户和OS对内存的使用,使内存的利用率和使用效率达到最优,同时最大限度地解决系统的内存碎片问题。 鸿蒙轻内核的内存管理分为静态内存管理和动态内存管理,提供内存初始化、分配、释放等功能。 动态内存:在动态内存池中分配用户指定大小的内存块。 优点:按需分配。 缺点:内存池中可能出现碎片。 静态内存:在静态内存池中分配用户初始化时预设(固定)大小的内存块。 优点:分配和释放效率高,静态内存池中无碎片。 缺点:只能申请到初始化预设大小的内存块,不能按需申请。 上一系列分析了静态内存,我们开始分析动态内存。动态内存管理主要用于用户需要使用大小不等的内存块的场景。当用户需要使用内存时,可以通过操...