免费注册 查看新帖 |

Chinaunix

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

[C] 关于mmap [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-10-12 23:31 |只看该作者 |倒序浏览
最近学了IPC,其中涉及到了共享内存,然后有一个函数mmap()但是这个到底是怎么回事不懂,还有就是好像听老师说过“过往内存”这个概念,这个“过往内存”是什么呀?
哪位先知帮忙解释一下,
先谢了……

论坛徽章:
0
2 [报告]
发表于 2010-10-13 09:32 |只看该作者
共享内存听过,过往内存,真没听过。

论坛徽章:
0
3 [报告]
发表于 2010-10-13 09:43 |只看该作者
本帖最后由 liwangli1983 于 2010-10-13 09:44 编辑

mmap把文件映射到内存.然后你修改内存的内容就相当于修改文件了(反过来也是这样)

所以mmap也可以用于有亲缘关系的进程间的共享内存.因为fork后子进程会继承共享内存区.一般都是mmap文件/dev/zero

论坛徽章:
0
4 [报告]
发表于 2010-10-13 11:47 |只看该作者
回复 1# atomthan


    linux下的共享内存 包括内存分配有的部分都是通过mmap来实现的, mmap实质是虚拟地址分配 然后隐射到物理内存, 你可以直接通过mmap来分配内存, 也可以把文件内容隐射到mmap上直接操作内存然后再同步到磁盘上.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP