一、管道的概念:
管道是一种最基本的IPC机制,作用于有血缘关系的进程之间,完成数据传递。调用pipe系统函数即可创建一个管道。
二、管道的本质:
1、其本质是一个伪文件(实为内核缓冲区)。
2、有两个文件描述符引用,一个表示读端,一个
表示写端。
3、规定数据由管道的写端流入管道,由读端流出。
三、管道的原理:
管道实为内核使用环形队列机制,借助内核缓冲区(4K)实现。
四、管道的局限:
1、数据自己读但不能自己写。
2、数据一旦被独奏,便不在管道中存在,不可反复读取。
3、由于管道采用半双工通讯方式,因此数据只能在一个方向流动。
4、只能在公共祖先的进程间使用管道。
5、常用的通信方式有,单工通信,半双工通信,全双工通信。
五、pipe函数:
1、创建管道:int pipe(int fd[2]);成功返回:0;失败返回-1,设置errno。函数调用成功返回r/w两个文件描述符。无需open,但需要手动的close。规定