![[linux内存管理] 第22篇 buddy内存管理之慢速分配](https://halo-19274848.oss-cn-shanghai.aliyuncs.com/2025/06/halo_vhe9kfz.png?x-oss-process=image/resize,w_800,m_lfit)
[linux内存管理] 第22篇 buddy内存管理之慢速分配
0. 前言 在上一篇文章中我们分析了__alloc_pages中的get_page_from_freelist,也就是快速分配部分。这个函数会根据分配掩码和分配order进行快速分配,若快速分配过程并不能分配到合适的内存时,则会进入慢速分配的过程。 本文紧接前文继续分析__alloc_pages函数
![[linux内存管理] 第019篇 buddy分配器基础知识以及分配器api接口](https://hexoimg.oss-cn-shanghai.aliyuncs.com/blog/25/1/cover_linux_memory_management_019.png)
[linux内存管理] 第019篇 buddy分配器基础知识以及分配器api接口
0. 前言 众所周知,Linux内存管理的核心是伙伴系统(buddy system)。其实在linux启动的那一刻,内存管理就已经开始了,只不过不是buddy在管理。在内核中,实现物理内存管理的allocator包括: 连续物理内存管理buddy allocator 非连续物理内存管理vmalloc
![[linux内存管理] 第018篇 buddy系统的简介以及初始化](https://hexoimg.oss-cn-shanghai.aliyuncs.com/blog/25/1/cover_linux_memory_management_018.png)
[linux内存管理] 第018篇 buddy系统的简介以及初始化
0. 前言 在[linux内存管理] 第013篇 zone的初始化一文中简单剖析了 zone 的初始化流程,也是继 arm64_memblock_init 和 sparse_init 之后有一个内存管理层,而zone 这一层管理层中,所有的物理内存都会被添加到zone 中的成员变量 free_are