免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: icanth
打印 上一主题 下一主题

[内核入门] 高端内存存在的意义 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2012-05-13 15:40 |显示全部楼层
回复 1# icanth
about first one,

安全方面的考虑并不是这个问题的答案。

其实也完全可以用4G/4G split。甚至有人尝试去实现它
4G/4G split on x86, 64 GB RAM (and more) support

问题是,导致频繁的TLB-flush。
同时,由于硬件的限制,也无法把user space和kernel完全割裂开,4G for user space中必须有一部分属于kernel的页。

由于实现上,用户空间和核心空间必然要共享4G地址空间,同时由于性能方面的不利影响,虽然4G/4G split在内存使用方面有一定的优势,
community更倾向于3G/1G split。

论坛徽章:
0
2 [报告]
发表于 2012-05-13 19:23 |显示全部楼层
本帖最后由 kudakitsune 于 2012-05-13 19:24 编辑

回复 10# tempname2

thanks for your comment.

86切换ring级别的时候不能自动切换页表,这就是在缺乏硬件支持下让内核拥有独立的地址空间。x86下,tlb的问题可以设置内核页表的global标志,这样大部分时候切换页表时tlb还能hold住,能减少一些损失,但到什么程序就不好说了。

这个是没有页表自动切换的时候,要面临的问题

这样做大的问题应该是内核态往用户态传数据更麻烦了,要跨地址空间。

这个是无论是否有页表自动切换,都要面临的问题


我印象中,内核态与用户态共享地址空间已经是演化后的结果了。以前有CPU在硬件上就支持内核态与用户态地址空间分离的。

我对这个部分比较感兴趣能不能具体一点解释一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP