LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 8758|回复: 13

请问"有名管道"为什么叫做"FIFO"?

[复制链接]
发表于 2006-10-20 10:45:54 | 显示全部楼层 |阅读模式
FIFO好像是First In First Out的意思吧,但有名管道(或命名管道)为什么不叫Named Pipe,而叫FIFO呢?普通管道不也是First In First Out吗?
有什么特殊含义吗?或者历史原因?

谢谢!
发表于 2006-10-21 22:09:00 | 显示全部楼层
无名的叫无名,有名的叫FIFO,呵呵,瞎猜的
回复 支持 反对

使用道具 举报

发表于 2006-10-22 09:12:22 | 显示全部楼层
有名管道 是一个文件, 一个先进先出文件
回复 支持 反对

使用道具 举报

发表于 2008-5-3 09:50:36 | 显示全部楼层
FIFO不是有名管道的专有名词,这句话只是说明的了有名管道的一种性质,具有First In First Out的意思吧。
因为它是有名的,也就具有如普通文件那样的性质(如访问),但又不同于普通的文件,如·普通文件依据打开的属性可以随机访问,也顺序访问,等等。
有名管道是明确指明它只能先进先出。这就是说或命名管道是(而不是称为)FIFO。
  。。。。是 。。。。。
不一定就是定义:即。。。。就是。。。,而可以是: 。。。具有。。。性质。
回复 支持 反对

使用道具 举报

发表于 2008-11-18 01:28:29 | 显示全部楼层
FIFO channel 就是First in First out 通道。顾名思义。 在编程时经常会用到的queue structure。就是FIFO。
反之,stack structure就是LIFO, last in first out.
回复 支持 反对

使用道具 举报

发表于 2008-11-27 10:47:34 | 显示全部楼层
其实这里管道需要先明白。比如ps -ef | grep root
|就是一个管道
回复 支持 反对

使用道具 举报

发表于 2008-12-25 12:56:16 | 显示全部楼层
楼上的真不错!
回复 支持 反对

使用道具 举报

发表于 2009-3-16 01:52:33 | 显示全部楼层
创建管道和有名管道的系统调用分别是pipe和mkfifo,这都是程序员给它们取的名。就像一个父亲给兄弟俩取名,哥哥叫张大勇,弟弟不一定非得取名为张小勇,也可以给弟弟取名为张国强等其他。

或者这么理解:发明pipe和fifo的人可能是一个人可能是两个人,本来pipe和fifo没什么关系,也不一定非得扯上关系。前者不需要产生文件,后者需要产生一个fifo文件。但是有人觉得fifo和pipe有类似的地方,把fifo解读为命名管道,于是就这么传下来了。
回复 支持 反对

使用道具 举报

发表于 2009-4-18 23:04:54 | 显示全部楼层
first in first out ,FIFO
回复 支持 反对

使用道具 举报

发表于 2009-7-27 21:33:30 | 显示全部楼层
有名:well-known?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表