免费注册 查看新帖 |

Chinaunix

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

进程是如何映射页表的? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2009-03-11 16:09 |只看该作者
http://www.ibm.com/developerwork ... l/l-page/index.html
这片文章能解答你的问题。

如果想深入研究可以看这本书
《深入理解Linux虚拟内存管理》
电子版:
http://download.csdn.net/source/240509
markw 该用户已被删除
22 [报告]
发表于 2009-03-11 16:12 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
markw 该用户已被删除
23 [报告]
发表于 2009-03-11 16:19 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
24 [报告]
发表于 2009-03-11 16:25 |只看该作者
原帖由 markw 于 2009-3-11 16:12 发表
在rc.sysinit中会swapon写在/etc/fstab中用作交换分区的设备,其他的磁盘都不是交换分区,我不太明你它的页面如何找到是什么意思?对于普通的磁盘文件在上面回贴的第2点中已经讲过了


似乎有点明白了 呵呵
我再琢磨下
普通的磁盘文件最后都是通过mmap()映射入内存的吗?
markw 该用户已被删除
25 [报告]
发表于 2009-03-11 16:29 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
26 [报告]
发表于 2009-03-11 16:35 |只看该作者
原帖由 markw 于 2009-3-11 16:29 发表
应用程序可以使用read,write来读写文件,这个时候不涉及到映射和缺页异常的事情,另外一种方式就是把文件映射到进程的地址空间,然后就可以使用对内存的操作来处理文件


既然第一种情况不涉及到映射和缺页中断
那你说的第二种情况就是mmap()吧
也就是说涉及到缺页中断的时候最后得mmap()来解决问题?

论坛徽章:
0
27 [报告]
发表于 2009-03-11 16:54 |只看该作者
谢谢这么多的高手的指教哈
非常感谢
可惜分之能给一个人 不能每人分点
markw 该用户已被删除
28 [报告]
发表于 2009-03-11 17:11 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
29 [报告]
发表于 2009-03-11 17:21 |只看该作者
原帖由 markw 于 2009-3-11 17:11 发表
不是说mmap解决缺页中断的问题,而是使用了mmap以后,在进程第一次访问映射部分时会产生缺页异常,然后缺页异常处理程序根据mmap建立的联系来找到相应的文件,读到物理内存中


明白了
谢谢了哈

论坛徽章:
0
30 [报告]
发表于 2009-03-11 23:14 |只看该作者
呵呵,大家都能学到知识最重要
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP