免费注册 查看新帖 |

Chinaunix

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

一段关于 mem lock 的文挡,看不太明白,请高人给翻一下,谢啦 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-05-04 11:41 |只看该作者 |倒序浏览
In Linux, locked pages aren’t as locked as you might think. Two virtual pages that are
not shared memory can nonetheless be backed by the same real frame. The kernel does this
in the name of efficiency when it knows both virtual pages contain identical data, and does
it even if one or both of the virtual pages are locked.

论坛徽章:
0
2 [报告]
发表于 2010-05-04 12:16 |只看该作者
俺的英文也比较烂。找了一下这段,看了前后文。
看下来大致意思就是,一个页面被锁住的意思就是不能被swap到硬盘上,必须一直呆在内存里,直到unlock。lock/unlock的这种操作是在虚拟页面上进行的。一般一个虚拟页面和一个物理页面(帧-frame,也是页面的意思吧)一一对应。通常只有共享内存的两个虚拟页面才会映射到同一个物理页面。但是linux这个地方有点不一样,出于效率的考虑,内核如果知道两个虚拟页面包含同样的数据,会自动将虚拟页面映射到同一个物理页面(按照我的理解就是fork的时候,父子进程共享数据页面,所谓copy-on-write的技术吧)。
不是直译,大致是我自己对上面这段文字的理解。

论坛徽章:
0
3 [报告]
发表于 2010-05-04 12:23 |只看该作者
在Linux中,锁定的页不会被如你认为的方式锁定。两个非共享内存的虚拟页可能指向同一份实际内存(框架)。
内核在提高效率的名义下,如果知道两个虚拟页包含相同的数据,虚拟页中的一个或两者都会被锁定。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP