无名管道:在用户空间没有标识。如果两个互不相干的进程分别创建各自的无名管道,由于不是关联到内核空间的同一个对象,无法进行进程间通信。
无名管道只可用于基于父子进程之间的通信。
要保证A/B两个进程通信,必须保证内核里面,基于同一个管道去操作。
前面的无名管道:是基于pipe函数放在fork函数之前,基于fork函数的继承,这样父子进程间就可以基于同一个管道文件的文件描述符。
普通文件 - open
目录文件 d mkdir
连接文件/软连接文件 l ln
管道文件 p mkfifo去创建
套接字文件
块设备
字符设备
有名管道/套接字/字符设备/块设备文件 不占用磁盘空间。