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

目录

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

一、引言

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

二、基础知识

共享内存的使用包括

  • 调用shmget()创建共享内存
  • 调用shmat()映射共享内存至进程虚拟空间
  • 调用shmdt()解除映射关系
    信号量有着类似

最近更新

  1. TCP协议是安全的吗?

    2024-01-03 17:22:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-03 17:22:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-03 17:22:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-03 17:22:02       18 阅读

热门阅读

  1. MongoDB CRUD 概述

    2024-01-03 17:22:02       34 阅读
  2. axios post YII2无法接收post参数问题解决

    2024-01-03 17:22:02       24 阅读
  3. pytorch 两个tensor的交集

    2024-01-03 17:22:02       37 阅读
  4. 通过 nvm 管理 Node 版本

    2024-01-03 17:22:02       44 阅读
  5. Unity 打包前,通过代码对 AndroidManifest 增删改查

    2024-01-03 17:22:02       37 阅读
  6. [嵌入式专栏](Qt - GUI框架)

    2024-01-03 17:22:02       43 阅读
  7. 机器学习的方法

    2024-01-03 17:22:02       42 阅读
  8. 机器学习模型评价指标

    2024-01-03 17:22:02       39 阅读
  9. 【Vue】响应式中的渲染 watcher

    2024-01-03 17:22:02       32 阅读