Linux匿名管道和命名管道以及共享内存

1、本质:

匿名管道本质上是内核中的一块管冲区,而命名管道本质上是一块标识符,用于让多个进程能够访问同一个缓冲区

2、对象:

匿名管道可以只能用于有亲缘关系的进程之间的通信,而命名管道可以用于任意进程之间的通信

3、管道是半双工通信,是可选择方向的单向通信

4、命名管道是当被以读的方式打开时,会发生阻塞,只有在被当以读的方式再打开时,才会正常运行,反之亦然

5、前面已经说过,命名管道的本质是一块文件标识符,用于让多个进程能够找到同一块缓冲区进行通信,所以删除命名管道并不能影响已经打开这个缓冲区的进程的 读写操作

6、共享内存是让不同进程的地址空间映射到同一块物理内存,从而实现进程间通信,删除共享内存,只是让这块共享内存拒绝后续映射,但只有其引用计数变为零即没有进程的地址空间再映射这块物理空间时,这块共享内存才会真正被删除

相关推荐
嘻嘻嘻开心1 分钟前
Collection接口
linux·windows·python
广东大榕树信息科技有限公司3 分钟前
机房动环管理如何通过智能可视化实现高效运维?
运维·网络·物联网·国产动环监控系统·动环监控系统
广东大榕树信息科技有限公司6 分钟前
当提升动力环境监控效率时,如何实现全面的数据集成与可视化?
运维·网络·物联网·国产动环监控系统·动环监控系统
玥轩_5218 分钟前
静态路由原理 及实验案例
网络·网络协议·网络安全·智能路由器·路由器·交换机
喵叔哟17 分钟前
11.容器化与 Docker
运维·docker·容器
Suchadar17 分钟前
NAT网络地址转换
linux·服务器·网络
1+2单片机电子设计43 分钟前
基于 STM32 的人脸识别系统
网络·人工智能
旺仔Sec1 小时前
2025年安徽省职业院校技能大赛(高职组)5G组网与运维赛项竞赛样题
运维·5g
凤凰战士芭比Q1 小时前
Jenkins(分布式、用户管理)
运维·分布式·jenkins
代码游侠1 小时前
复习——线程(pthread)
linux·运维·开发语言·网络·学习·算法