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

2024-01-03 16:34:33

目录

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

一、引言

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

二、基础知识

共享内存的使用包括

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

文章来源:https://blog.csdn.net/weixin_38019025/article/details/135354336
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。