k-mm
文章平均质量分 81
Morphad
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux内存管理e820map
启动过程中,内核先后使用的内存分配器有:early_res,bootmem,zone allocator;后一个内存分配器启用之后,前一个内存分配器不再使用。 early_res是内存最早使用的内存分配器 arch/x86/kernel/e820.c: 1 /* 2 * Handle the memory map. 3 * The functions here do原创 2013-05-16 19:02:47 · 3882 阅读 · 0 评论 -
linux内存管理bootmem
bootmem是内核启动时使用的物理内存分配器,根据e820map中的可用内存来初始化bootmem可用内存; bootmem启动之前分配的内存放入early_res预留内存区间中,初始化bootmem时将已经分配出去的内存在bootmem系统中标识为已分配 bootmem管理的是页帧,而e820map和early_res管理的是区间 e820map注册进bootmem时会对区间做页对齐操作原创 2013-05-16 19:07:48 · 1582 阅读 · 0 评论 -
linux内存管理页帧管理
linux页帧管理采用伙伴系统算法,与bootmem相比有更快的分配速度,能够快速打找到空闲内存;有效的解决外部碎片。 页帧的处理代码主要在:mm/page_alloc.c中 I.主要数据结构 i.页描述符struct page 内存管理的核心是页帧管理,内核必须清楚的知道页帧的状态:该页帧是否空闲,是否已经包含代码或数据,是否已经被修改等。 每个页帧都有一个页描述符与之对应,用来表示页原创 2013-05-18 18:26:44 · 3847 阅读 · 0 评论
分享