linux(system V标准)进程间通信2

news/2024/11/8 8:59:22/

目录:

             1.回顾上一节的代码

             2.shmat、shmdt的使用

             3.共享内存的大小为什么最好设置成4096字节的整数倍呢?

             4.操作系统如何管理共享内存的

-------------------------------------------------------------------------------------------------------------------------------

1.回顾上一节的代码

 以上就是我们上一节的代码全部内容


2.shmat、shmdt的使用

 

 

 我们刚刚是一个进程和共享内存关联,我们现在两个进程和我们的共享内存关联呢??

 

 

 

 

 这样子我们两个进程都挂接上了我们的共享内存

接下来我们来写一点测试的代码

 

我们运行起来看看

 

 这样子我们就完成了依靠共享内存进行进程间通信

共享内存是所以进程间通信速度最快的!! 因为它是直接将一块共享内存映射该进程的地址空间当中,另一边一旦写入,我这边立马就能看到(没有了拷贝环节)

共享内存不提供任何同步或者互斥机制,需要程序员自行保证数据的安全

3.共享内存的大小为什么最好设置成4096字节的整数倍呢?

 我们在shmget创建共享内存的时候。通常建议是4096的整数倍

4.操作系统如何管理共享内存的

我们先看看操作系统用户层给我们暴露出来的数据结构

 我们也来认识一下消息队列的接口

我们来看看信号量的用户层数据结构和一些调用接口

 ----------------------------------------------------------------------------------------------------------------------------

我们发现了共享内存、消息队列、信号量的接口都是类似的

数据结构的第一个结构类型的完全一样的!!(struct ipc_perm)

在内核当中,所有的IPC资源都是通过,数组组织的

可是怎么通过数组组织的呢???


http://www.ppmy.cn/news/142782.html

相关文章

Bug管理神器推荐:高效实用的Bug管理工具和软件

当涉及到错误管理时,bug管理软件或工具可能是一个很好的资产。使用正确的bug管理系统,团队可以有效地发现、处理和跟踪软件中的错误。市场上有许多不同的bug管理系统和工具,这使得选择正确的系统和工具变得困难。在要求bug管理软件或工具时&a…

第十二篇、基于Arduino uno,获取多个按键的输入信号(滤波消抖)——结果导向

0、结果 说明:先来看看串口调试助手显示的结果,当按下按键的时候,按一次会打印一次按键被按下,并且打印是哪个按键被按下。如果是你想要的,可以接着往下看。 1、外观 说明:虽然每个型号的按键形态各异&a…

系统补丁下载地址

http://www.catalog.update.microsoft.com/home.aspx

ubuntu 升级安装包 进行安装包的更新(软件版本的升级) 进行系统版本的升级

apt-get update: 升级安装包相关的命令,刷新可安装的软件列表(但是不做任何实际的安装动作)apt-get upgrade: 进行安装包的更新(软件版本的升级)apt-get dist-upgrade: 进行系统版本的升级(Ubuntu版本的升级)do-release-upgrade: Ubuntu官方推荐的系统升级方式,若加参数-d还可以…

如何打补丁包

当需要修改vue插件源码时需要打补丁包,防止下一个人直接i install需要修改的插件被覆盖掉 1.安装patch-package:npm i patch-package --save-dev 2.修改package.json,新增命令postinstall:"postinstall": "patch-package"…

microsoft windows 系统更新包下载与离线安装

未联网的电脑,需要对系统进行更新。 更新包的搜索及下载地址: sMicrosoft Update Cataloghttps://catalog.update.microsoft.com/Search.aspx?qkb4490628 安装包为msu专用格式,双击安装即可。

windows10补丁包离线更新

微软官方补丁更新目录 在上述可以下载相关系统的补丁,但是十分不方便,需要比较繁琐的找。 windows10补丁合集 在这个网站可以直接下载补丁的合集 现在微软已经把安全补丁设置为累积更新,你只需要下载最新的累积更新补丁。可以用上面的用户…

微软补丁包下载

Microsoft Update Cataloghttps://www.catalog.update.microsoft.com/Home.aspxMicrosoft Update CatalogMicrosoft Update Cataloghttps://www.catalog.update.microsoft.com/Home.aspx