1. 匿名管道的概念
本质:
内核缓冲区
是伪文件,不占用磁盘空间,磁盘上不存在
特点:
(1) 由读端和写端两部分组成,对应两个文件描述符
(2) 数据写端流入,读端流出
(3) 操作管道的进程被销毁之后,管道自动被释放(内核自动操作),不需要手动释放
2. 匿名管道的原理
(1) 内部的实现方式:队列,而且是环形队列
特点:先进先出(一端入队,另一端出队,即只能从一端写入,另一端读出)
(1) 由于用队列实现,故数据只能读取一次,不能重读读取
(2) 半双工,数据传输的方向是单向的
单工:遥控器
半双工:对讲机
双工:电话
(3) 只适用于有血缘关系的进程(父子进程,兄弟进程,爷孙进程,叔侄进程...)
本质:
内核缓冲区
是伪文件,不占用磁盘空间,磁盘上不存在
特点:
(1) 由读端和写端两部分组成,对应两个文件描述符
(2) 数据写端流入,读端流出
(3) 操作管道的进程被销毁之后,管道自动被释放(内核自动操作),不需要手动释放
(4) 管道默认是阻塞的,读和写均默认阻塞。
(1) 内部的实现方式:队列,而且是环形队列
特点:先进先出(一端入队,另一端出队,即只能从一端写入,另一端读出)
(2) 缓冲区大小:默认4k字节,大小会根据实际情况做适当调整
(1) 由于用队列实现,故数据只能读取一次,不能重读读取
(2) 半双工,数据传输的方向是单向的
单工:遥控器
半双工:对讲机
双工:电话
(3) 只适用于有血缘关系的进程(父子进程,兄弟进程,爷孙进程,叔侄进程...)