免费注册 查看新帖 |

Chinaunix

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

[内存管理] 关于内存的访问权限 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-03-19 12:35 |只看该作者 |倒序浏览

是不是只有内核空间的虚拟地址,才能访问物理内存啊??

而用户空间的虚拟地址不能访问物理内存,只能通过内核空间访问??

要是后者成立,那怎样的一个实现过程啊??

是不是内核控制内存的分配以及访问??

论坛徽章:
0
2 [报告]
发表于 2013-03-19 12:50 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
3 [报告]
发表于 2013-03-19 14:37 |只看该作者
回复 1# zqh1630
是不是只有内核空间的虚拟地址,才能访问物理内存啊??

而用户空间的虚拟地址不能访问物理内存,只能通过内核空间访问??

要是后者成立,那怎样的一个实现过程啊??

是不是内核控制内存的分配以及访问??


1. 内核和应用层最后访问的都是物理地址。2.6.27内核之前应用层可以通过/dev/mem直接访问物理内存,2.6.27后需要开启内核配置项才能通过/dev/mem访问物理内存。
2. 大部分情况下,用户空间访问内存都是通过虚拟地址,而虚拟地址到物理地址的映射关系,只有内核知道,应用层不知道虚拟地址对应的物理地址;应用层申请内存的时候也是虚拟地址的概念,内核将物理地址对应用层透明。

   

论坛徽章:
0
4 [报告]
发表于 2013-03-20 09:40 |只看该作者
内核值负责管理吧,分配时候需要内核管理。

如果分配完了,用户空间访问一个虚拟地址的时候,到访问完成,是不需要内核干预的,从虚拟地址到物理的地址的映射是硬件来做的。
除非缺页了,才又把控制权交给内核判断。

论坛徽章:
0
5 [报告]
发表于 2013-03-20 16:15 |只看该作者
回复 4# hmsghnh

也就是说内核访问物理内存,直接减去偏移量就行了,
而用户空间可以访问物理内存,就是必须通过MMU(查表)得到物理地址,而对物理地址进行访问。

就是当一个应用程序运行时,内核要对这个应用程序的用户空间的地址与物理地址的映射进行管理,而后用户空间地址就可以通过mmu对物理内存进行访问了,是吧??


物理内存并没有一次性全部映射给内核空间,所有就有剩余的物理地址分配给用户空间地址来进行映射??




   

论坛徽章:
0
6 [报告]
发表于 2013-03-20 17:13 |只看该作者
回复 3# 瀚海书香

那是不是用户空间地址不能通过MMU来对物理内存进行访问呢???



   

论坛徽章:
0
7 [报告]
发表于 2013-03-21 10:14 |只看该作者
回复 5# zqh1630


所有的内存访问都绕不过页表管理机制的。
内核访问也是访问的虚拟地址,然后由内存控制转换到对应的物理地址。
不知道你这里强调的物理地址什么意思。

用户空间程序拿到物理地址肯定无法直接操作。
但是内核知道物理地址的话,就可以把这个物理地址通过映射得到一个虚拟地址,然后使用通过使用对应的虚拟地址来操作对应的物理内存地址(实际就是管理页表项那些)。

论坛徽章:
0
8 [报告]
发表于 2013-03-21 13:15 |只看该作者
回复 7# hmsghnh




物理地址就是实际物理内存的地址啊!!!!

我这样理解可以嘛:

就是当内核刚启动对内存进行初始化,他会把896M以内的内存与内核空间地址建立映射关系,

而后当一个应用程序运行时,内核会为他分配那些内核没有用到的物理内存,然后将这些物理内存与用户地址空间的虚拟地址再次映射,

然后这个应用程序的用户空间地址就能通过mmu访问物理内存了吧??

内核空间虚拟地址(也就是3G以上)访问实际的物理地址,是不是也是通过MMU访问的?还是直接减去偏移量?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP