Linux内存管理子系统

1、相关资料收集

关于物理内存分布与虚拟地址空间对应的文章:点击打开链接

2、setup_arch函数做的主要工作如下(顺序可能略有调整):例子:Setup_32.c和Setup_64.c

(1)基本的内存设置;

(2)分析命令行

(3)创建可用内存的列表

(4)将可用的物理内存直接映射到虚拟地址空间中从PAGE_OFFSET开始的内核部分

(5)激活bootmem分配器

(6)确定每个结点可用的内存页表的作用

(7)初始化内核页表并启动分页;完善内核管理页帧的数据结构

3、由free_area_init_nodes函数查到的好资料:LinuxKernel Exploration

Linux节点和内存管理的初始化

4、bootmem阅读

三读bootmem

5、伙伴系统阅读

(1)细节处理,likely和unlikely知多少

6、看看这个大神总结的一些基本概念:Linux物理内存管理基本概念

你可能感兴趣的:(Linux内存管理子系统)