共享内存不同实现方式

本文介绍了共享内存作为一种高效进程间通信机制的工作原理。通过两种方法实现共享内存:一是利用系统调用创建并映射共享内存;二是使用mmap将/dev/mem映射到进程地址空间。这两种方法使进程能够共享数据结构,提高通信效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写作目的

共享内存是一种高效的IPC机制。共享内存的核心就是将一片物理内存映射到用户进程的虚拟地址空间。将物理内存作为共享内存的方法有两种:一种就是不关心物理内存的地址,直接调用shmget接口创建共享内存,shmat接口映射共享内存到进程的虚拟地址空间。另一种就是通过mmap将/dev/mem映射出来。

IPC共享内存

共享内存机制含义:允许两个或多个进程通过把公共数据结构放入一个共享内存区来访问它们。如果进程要访问这种存放在共享内存的数据结构,就必须在自己的地址空间增加一个新内存区,它将映射与这个共享内存区相关的页框。

https://blog.youkuaiyun.com/lianghe_work/article/details/47723079

/dev/mem

/dev/mem是物理内存的全映像,可以用来访问物理内存,用mmap来访问物理内存以及外设的IO资源,是实现用户空间驱动的一种方法。

https://yq.aliyun.com/articles/592075
https://www.cnblogs.com/cxchanpin/p/7230743.html

总结

未完待续……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值