Linux命名管道为什么叫FIFO?

FIFO( First Input First Output)不是先入先出队列吗?

管道的一个不足之处是没有名字,因此,只能用于具有亲缘关系的进程间通信,在命名管
道(named pipe或FIFO)提出后,该限制得到了克服。FIFO不同于管道之处在于它提供一
个路径名与之关联,以FIFO的文件形式存储于文件系统中。命名管道是一个设备文件,因
此,即使进程与创建FIFO的进程不存在亲缘关系,只要可以访问该路径,就能够通过FIFO
相互通信。值得注意的是,FIFO(first input first output)总是按照先进先出的原则工作,第一
个被写入的数据将首先从管道中读出。

因为管道是先入先出,first in first out 故又叫先入先出

Linux的FIFO定义是:first-in first-out special file, named pipe,因为其工作的特性就是数据先入,就先出的。不知你为何有此疑问?

管道读写数据的原理是 先进先出 First In First Out 所以叫做FIFO

楼主可以研究下FIFO源码

就是first in first out 啊。希望采纳

我们常说的管道其实分为两种:1、无名管道(pipe)2、有名管道(named PIPE);而有名管道就是FIFO。为何会叫FIFO,是因为管道本质上是一个先进先出的队列数据结构,最早放入的数据被最先读出来,从而保证信息交流的顺序。FIFO只是借用了文件系统(file system,命名管道是一种特殊类型的文件,因为Linux中所有事物都是文件,它在文件系统中以文件名的形式存在)来为管道命名。

Linux的FIFO定义是:first-in first-out special file, named pipe,管道本质上是一个先进先出的队列数据结构

管道(PIPE)是FIFO,理解如下:
图片说明

先进先出 First In First Out 所以叫做FIFO

管道的数据传输过程是,先放入管道的数据被先取出,数据在管道的一端放入数据,另一端取出数据,所以用FIFO命名不无道理