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

1、本质:

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

2、对象:

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

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

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

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

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

相关推荐
聆风吟º1 小时前
CANN开源项目深度实践:基于amct-toolkit实现自动化模型量化与精度保障策略
运维·开源·自动化·cann
Coder个人博客2 小时前
Linux6.19-ARM64 mm mmu子模块深入分析
大数据·linux·车载系统·系统架构·系统安全·鸿蒙系统
较劲男子汉4 小时前
CANN Runtime零拷贝传输技术源码实战 彻底打通Host与Device的数据传输壁垒
运维·服务器·数据库·cann
Doro再努力4 小时前
Vim 快速上手实操手册:从入门到生产环境实战
linux·编辑器·vim
wypywyp4 小时前
8. ubuntu 虚拟机 linux 服务器 TCP/IP 概念辨析
linux·服务器·ubuntu
风流倜傥唐伯虎5 小时前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
Doro再努力5 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim
senijusene5 小时前
Linux软件编程:IO编程,标准IO(1)
linux·运维·服务器
忧郁的橙子.5 小时前
02-本地部署Ollama、Python
linux·运维·服务器
chian-ocean5 小时前
深入 CANN:使用 `tbe-op` 构建自定义高性能算子
网络