免费注册 查看新帖 |

Chinaunix

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

问几个linux内存管理方面的问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-10-29 17:10 |只看该作者 |倒序浏览
最近看了点linux内存管理方面的内容,有些问题老是想不明白,希望老鸟们给予解答
1,为什么linux要将4G的线性空间分为0~3G给用户空间,3~4G给内核空间呢?为什么内核空间不分成2~4G或其他情况呢?
2,为什么会有高端内存呢?高端内存存在的理由是什么呢?为什么高端内存定位896M?其他大小可以吗?
     如果我的物理内存只有500M,应该就没有所谓的高端内存了,那么此时linux内核空间的1G岂不是不够映射了,即此时所有的物理内存都已经被映射为内核空间了,那么我们的用户空间说需要映射的物理空间岂不是和内核空间映射的内核空间重叠了?
     如果我的物理内存正好1G,为什么还要高端内存呢,难道是为了让内核能够访问1G以上的物理空间,故意留出1G内的一段虚拟空间来映射高于1G的物理内存?或是专门留出一段虚拟地址映射io?
     如果我的物理内存正好2G,全部映射为内核空间不行吗?这不是和500M的情形差不多嘛?难道是为了节省内核页表所占的空间?(都2G内存了,应该可以忽略了吧)
     如果我的物理内存大于4G,如6G呢,情况又是什么样呢?
3,如果是64为机器,还有必要有高端内存吗?为什么呢?
4,内核为什么要有Vmalloc和Kmalloc这两个内存调用接口呢?做成统一的接口岂不是更好?

越问疑问就越多,希望大神们给予合理的解答啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP