首页 > 系统服务 > 详细

linux共享内存

时间:2014-10-28 00:17:55      阅读:306      评论:0      收藏:0      [点我收藏+]

1) 用ftok()函数获得一个ID号.
2) shmget()用来开辟/指向一块共享内存的函数
3) shmat()将这个内存区映射到本进程的虚拟地址空间。
4) shmdt()函数删除本进程对这块内存的使用
5) shmctl() 控制对这块共享内存的使用

 

1) mmap()系统调用使得进程之间通过映射同一个普通文件实现共享内存。普通文件被映射到进程地址空间后,进程可以像访问普通内存一样对文件进行访问,不必再
调用read(),write()等操作
2) 系统调用munmap()在进程地址空间中解除一个映射关系,addr是调用mmap()时返回的地址,len是映射区的大小。当映射关系解除后,对原来映射地址的访问将导致段错误发生
3 一般进程在映射空间的对共享内容的改变并不直接写回到磁盘文件中,往往在调用munmap()后才执行该操作。可以通过调用msync()实现磁盘上文件内容与共享内存区的内容一致



 

linux共享内存

原文:http://www.cnblogs.com/kangbry/p/4055557.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!