免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2159 | 回复: 3
打印 上一主题 下一主题

bootmem allocator 有没有什么精华所在啊? [复制链接]

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:09
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-08-15 15:47 |只看该作者 |倒序浏览
今天粗略看了下linux 启动阶段的bootmem allocator, 看完之后就想,为什么弄个bootmem allocator,必须的用吗?
于是上网查了下,很多文章讲到“bootmem就是在buddy system初始化之前的一个简单的内存分配器”。这句话是不是可以这么理解:由bootmem allocator才能过度到buddy算法。 那么bootmem allocator做了那些东西,才使得buddy算法能够正确运行的?个人的感觉bootmem allocator主要做了一下几个工作:
1 node_bootmem_map 位图表,标记物理内存状态
2 统计可用物理内存,建立并初始化pg_data_t(node), zone, page数据结构以及他们之间的关系
3 其他一些模块的内存分配和管理

我的问题就是:
1 bootmem allocator做了那些准备,才使得buddy算法能够正常使用的?
2 bootmem allocator 有什么比较精华的地方,否则就没什么研究的意义了。

论坛徽章:
0
2 [报告]
发表于 2010-08-15 19:55 |只看该作者
buddy是建立在此内存分配器基础之上的!
只有在内存分配器位图标识的页框可用的情况下才会被添加到buddy中。
最后内存分配器就被废除了!分配器位图所占用的页框被添加到了buddy中!
最后系统中只有buddy和slab!

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:09
3 [报告]
发表于 2010-08-15 21:58 |只看该作者
回复 2# zd零


    谢谢您的回答! 那么bootmem allocator有没有研究的价值呢?

论坛徽章:
0
4 [报告]
发表于 2010-08-16 11:36 |只看该作者
回复 3# liujunwei1234


    bootmem allocator 实现比较简单!我觉得应该看看!呵呵!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP