system-v IPC共享内存通信
  H5oyQecqjP4R 11天前 17 0

system v IPC简介

消息队列、共享内存和信号量统称为system v IPC(进程间通信机制),V是罗马数字5,是UNIX的AT&T分支的其中一个版本,一般称它们为IPC对象。这些对象的操作接口比较类似,在系统中它们都会使用一种名为key的键值来统一标识。进程每次“打开”一个IPC对象,就会获得一个表征这个对象的ID,ID可以操作这个对象。IPC的对象是唯一的,但是ID是可变的。

共享内存需要用到的函数接口

shmget函数--获取对象ID

image

shmat函数--获得映射空间

image

shmctl函数--释放资源

image
shmid: 共享内存段的标识符,通常是由shmget()函数返回的共享内存标识符。
cmd: 控制命令,用于指定要执行的操作。常见的控制命令包括:
IPC_STAT: 获取共享内存段的状态信息,并将其存储在struct shmid_ds *buf中。
IPC_SET: 设置共享内存段的状态信息,buf中包含要设置的新值。
IPC_RMID: 删除共享内存段。

共享内存实现思路

image

注意

共享内存是sytem-v IPC 中通信效率最高的,保护性不高。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 11天前 0

暂无评论

推荐阅读
  H5oyQecqjP4R   15天前   34   0   0 C语言
  fHBiUfJyY67V   11天前   14   0   0 C语言
  TfjjLvnv5b8J   16天前   19   0   0 C语言
H5oyQecqjP4R
作者其他文章 更多
最新推荐 更多

2024-05-05