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返回。多态的形式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/640110.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB——M文件

M文件 MATLAB允许编写两种程序文件- 脚本−脚本文件是扩展名为.m的程序文件。在这些文件中,您编写了一系列要一起执行的命令。脚本不接受输入,也不返回任何输出。它们对工作区中的数据进行操作。 函数−函数文件也是扩展名为.m的程序文件。函数可以接…

(回溯)记忆化搜索和dp

动态规划的核心就是 状态的定义和状态的转移 灵神 的 回溯改递归思路 首先很多动态规划问题都可以采用 回溯 的思想 回溯主要思想就是把 一个大问题分解成小问题 比如 采用子集类回溯问题中的核心思想-> 选或不选 或者 选哪个 记忆化搜索之后 我们可以发现 每个新节点依…

java多线程-创建

简介 定义:多条执行流程并行的技术优点:异步执行,避免同步等待 创建-继承Thread 代码实现 继承Thread类重写run方法新建自建线程的实例调用start方法 继承Thread类重写run方法 /*** 1. 继承Thread类* 2. 重写run方法*/ public class MyThrea…

代码随想录第43天|1049.最后一块石头的重量II 494. 目标和

1049.最后一块石头的重量II 1049. 最后一块石头的重量 II - 力扣(LeetCode) 代码随想录 (programmercarl.com) 动态规划之背包问题,这个背包最多能装多少?LeetCode:1049.最后一块石头的重量II_哔哩哔哩_bilibili 有…

rCore-Turorial-Book第三课(计算机启动流程和程序内存布局与编译流程探索)

本节任务:梳理程序在操作系统中被编译运行的全流程,大体了解我们在没有操作系统的情况下,我们会面对那些困难 重点 1. 计算机组成基础 面对的困难:没有操作系统,我们必须直面硬件资源,管理起他们并为应用程…

PLSQL数据库

目录 什么是PLSQL数据库 PL数据库的实现方法 PL数据库的基本语法 1.作用 2.语法 3.赋值输出 4.引用 5.异常处理 6.if 判断 7.loop循环 8.while循环 9.for循环 10.游标 11.参数游标 12.索引 13.分区表 什么是PLSQL数据库 PL/SQL(Procedure Language/…

mysql面试题八(SQL语句)

目录 1.SQL 基本组成部分 常用操作示例 创建表 插入数据 查询数据 更新数据 删除数据 创建索引 授予用户权限 2.常见的聚合查询 1. 计数(COUNT) 2. 求和(SUM) 3. 平均值(AVG) 4. 最大值&…

全新商业模式!链动3+1模式 无限链动收益!

链动31模式解析 的链动31模式,是一种精心设计的运营模式,它针对运营中的脱发问题提供了有效的解决方案。然而,这一模式并非完美无缺,它也有其固有的劣势。接下来,我们将通过详细的示例,对这一模式进行深入…

CVE-2024-3159:Out of bounds memory access in V8

前言 这个洞在今年的 Pwn2Own 上被利用,目前还没有公开报告。该漏洞可以说是 CVE-2023-4427 漏洞未正确修复,其原理和利用跟 CVE-2023-4427 没有本质区别,CVE-2023-4427 之前分析过,所以这里不作过多说明,仅仅做记录 …

SpringAOP从入门到源码分析大全(四)SpringAOP的源码分析

文章目录 系列文档索引六、EnableAspectJAutoProxy源码分析1、AnnotationAwareAspectJAutoProxyCreator源码(1)wrapIfNecessary方法(2)createProxy 2、getAdvicesAndAdvisorsForBean查找所有Advisor(1)find…

爬虫机试题-爬取新闻网站

之前投简历时遇到了这样的一个笔试。本以为会是数据结构算法之类的没想到直接发了一个word直接提需求,感觉挺有意思就写了这篇文章,感兴趣的朋友可以看看。 拿到urllist 通过分析页面结构我们得以知道,这个页面本身没有新闻信息,是…

芒果超媒的“乘风破浪”,差了一点市场海浪的反馈

4月21日晚间,芒果超媒发布了2023年度&2024一季度报告。 芒果超媒2023年实现营业收入146.28亿元,同比增长4.66%;净利润35.56亿元,同比增长90.73%;基本每股收益1.90元。公司拟每10股派发现金红利1.8元。2024年第一季…