全志r328s1 freertos平台,slab内存管理源码剖析
Linux的内存管理其实也是slab。但是相比较rtos,Linux做了虚拟内存管理(需要硬件MMU,比如MMU的缺页异常)。这里我们只分析slab,个人感觉从rtos入手来学习操作系统是比较明智的,这都是题外话。
内存管理分为页管理(每页4k)和slab管理(每个slab_zone 32k,即8个pages)。比如程序需要申请8字节内存,需要先申请一个slab_zone,即8个pages的内存,再从该slab_zone分配8字节出来。
首先,我们看内存管理的入口,如下:
很明显,入口函数先确
原创
2021-06-27 11:47:16 ·
802 阅读 ·
1 评论