本文主要是介绍内存管理篇-11伙伴系统初始化三:init内存释放,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.reserved区域如何处理
上节课我们把前期的内存管理系统的memblock.free区域释放到内存伙伴系统了,这节课要介绍一下memblock的reserved区域。这片区域由不同的驱动直接操作它,各自dma 映射等等操作。上节的操作中,只是把这片区域设置为reserved属性,并没有做其他操作。
底下是几个常见的reserved内存区域:
然后就依次介绍每个阶段:(1)init代码段的释放过程:
注意:解释一下函数如果被__init修饰了之后,代表把这个函数代码段放在'init.text'段。当内核镜像加载到内存中执行的时候,所有的init代码段都会加载到这个段中。这些系统初始化函数只调用一次,之后并不在使用它了。
2.代码走读
这篇关于内存管理篇-11伙伴系统初始化三:init内存释放的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!