当前位置: 首页 > news >正文

Linux内核--进程管理(十二)共享内存和信号量

目录

一、引言
二、基础知识
三、统一封装的接口
------>3.1、kern_ipc_perm
四、共享内存的创建和映射
------>4.1、创建共享内存
------>4.2、共享内存的映射
五、信号量的创建和使用
------>5.1、信号量的创建
------>5.2、信号量的初始化
------>5.3、信号量的操作
------>5.4、SEM_UNDO机制
六、总结

一、引言

本文为进程间通信的最后一篇,介绍共享内存和信号量。之所以将二者一起叙述,是因为二者有着密不可分的关系。共享内存会利用虚拟内存和物理内存的映射关系,让不同进程开辟一块虚拟空间映射到相同的物理内存上,从而实现了两个进程对相同区域的读写,即进程间通信。而信号量则实现了互斥锁,可以为共享内存提供数据一致性的保证,因此二者常结合使用。

二、基础知识

共享内存的使用包括

  • 调用shmget()创建共享内存
  • 调用shmat()映射共享内存至进程虚拟空间
  • 调用shmdt()解除映射关系
    信号量有着类似
http://www.lryc.cn/news/272283.html

相关文章:

  • java 构造方法
  • CISSP 第2章: 人员安全和风险管理概念
  • 前端八股文(CSS篇)一
  • 游戏加速器LSP/DLL导致WSL.EXE无法打开问题修复!
  • 宏电股份5G RedCap终端产品助力深圳极速先锋城市建设
  • linux top命令中 cpu 利用率/mem 使用率与load average平均负载计算方式
  • win11出现安全中心空白和IT管理员已限制对某些区域的访问(不一样的解决方式),真实的个人经历,并且解决经过
  • 关于安卓重启设备和重启应用进程
  • Linux内核--进程管理(十三)O(1)调度算法
  • 【QT】发生的运行时错误汇总
  • 机器学习常用算法模型总结
  • 笔记中所得(已删减)
  • 在Django5中使用Websocket进行通信
  • 外汇天眼:CySEC与NAGA Markets Europe达成15万欧元的和解
  • Docker仓库搭建与镜像推送拉取
  • 最适合初学者的PHP集成环境!
  • 添加 Android App Links
  • 五、Spring AOP面向切面编程(基于注解方式实现和细节)
  • ES6 class详解
  • 嵌入式固件加密的几种方式
  • [C#]使用onnxruntime部署Detic检测2万1千种类别的物体
  • 关于Spring @Transactional事务传播机制详解
  • 力扣139.单词拆分
  • Docker 镜像命令总汇
  • 客户服务:助力企业抵御经济衰退的关键要素与策略
  • 第八周:AIPM面试准备
  • 阿里云2核2G3M服务器能放几个网站?有限制吗?
  • Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机本身的数据保存(CustomData)功能(C#)
  • 从零开始配置kali2023环境:镜像保存和导入
  • Transformer梳理与总结