30 消息队列

原理

操作系统可以通过页表映射在共享区创建一块共享内存,也可以申请一个队列。A进程和B进程可以向这个队列发送数据块,两个进程接收数据块来通信

函数

申请数据块

参数中的key来自于ftok函数

删除消息队列

同样消息队列也有数据结构管理,可以获取

消息队列也是通过key来区分

发送消息和消息结构

接收消息

查看消息队列命令

ipcs -q

删除消息队列

ipcrm -q smsqid

IPC内核数据结构设计

system v的每个通信方式都有一个ipc_perm的结构,里面储存了共享资源的信息,包括key值。内核里ipc是一个模块,有一个ids结构体内的指针指向了ipc_id的数组,这个里面有一个类型为指针的柔性数组,定义了一个kern_ipc_perm结构,里面就是内核管理ipc资源的属性,数组里保存的都是每一个ipc结构的指针,当需要具体的某一类资源,如共享内存,返回给用户层shmid,就是数组下标,线性递增的,从0开始,当到达最大值又会回归0继续增加。用户通过shmid告诉系统哪个资源,系统通过key标识唯一来遍历数组。找到后通过强转为共享内存类型的perm返回。多态的形式

相关推荐
BerryS3N4 分钟前
Cursor+GitOps:AI驱动的自动化运维新范式
运维·人工智能·自动化
Sagittarius_A*15 分钟前
Web 渗透实战:服务器系统识别、端口与中间件全量探测
服务器·网络安全·中间件·渗透测试
FREEDOM_X1 小时前
嵌入式Linux摄像头采集与图像处理
linux·图像处理·ubuntu
studytosky2 小时前
OpenClaw 入门与 Skill 开发
linux·服务器·ai编程
kaoa0002 小时前
Linux入门攻坚——82、kvm虚拟化-2
linux·运维·服务器
OsDepK2 小时前
Windows快速部署Docker
运维·docker·容器
2601_954706492 小时前
云虚拟化终端架构解析:ARM 云端集群部署与自动化运维实践
运维·arm开发·架构
zandy10112 小时前
地址解析厂商推荐:分行业地址服务能力选型与技术分析
大数据·运维·人工智能
财迅通Ai2 小时前
“光纤传感+AI”双轮驱动加速成长,光格科技步入资产数字化运维快车道
运维·人工智能·科技·光格科技
laowangpython2 小时前
昆仑通态 Mcgs Pro软件安装步骤(附安装包)Mcgs Pro 3.3.6 下载安装教程(保姆级)
java·服务器·数据库·其他