FIFO FIFOs

FIFO(First In First Out) 先进先出队列,一种缓存、或一种管道、设备、接口。

工控中的FIFO:

FIFO即先入先出存储器,用于A/D转换过程中的数据缓存,可以理解成板子上带的一小块内存,目的是防止采集数据来不及传输而造成的丢点现象,实际上是硬件寄存器;double buffer是一种软件上实现数据连续传输的方法,是在内存中设置一个环行buffer,分成两部分,倒着传数,保证数据不间断。

交换机中的FIFO:

一种特殊的缓存。这种缓存是一种先进先出的FIFO(First In First Out),比特从一端进入然后再以同样的顺序从另一端出来。当帧被接收时,它被保存在FIFO中。如果帧以小于512比特的长度结束,那么FIFO中的内容(残帧)就会被丢弃。因此,不存在普通直通转发交换机存在的残帧转发问题,是一个非常好的解决方案。数据包在转发之前将被缓存保存下来,从而确保碰撞碎片不通过网络传播,能够在很大程度上提高网络传输效率。

通常我们说的FIFO多是指Unix和Linux中的FIFO,他们可能会被翻译成 有名管道,而我则更倾向于翻译成 先进先出缓存、或先进先出管道

有名管道是一个能在互不相关进程之间传送数据的特殊文件。一个或多个进程向内写入数据,在另一端由一个进程负责读出。有名管道是在文件系统中可见的,也就是说ls可以直接看到。(有名管道又称FIFO,也就是先入先出。)

有名管道可以将无关的进程联系起来,而无名的普通管道一般只能将父子进程联系起来——除非你很努力地去尝试——当然也能联系两个无关进程。有名管道是严格单向的,尽管在一些系统中无名管道是双向的。

在shell下交互地建立一个有名管道,你可以用mknod或mkfifo命令。在有些系统中,mknod产生的文件可能在/etc目录下,也就是说,可能不在你的目录下出现,所以请查看你系统中的man手册。[译者注:在Linux下,可以看一下fifo(4)]

 

参考

UNIX Programming FAQ 中文版 v0.1.0

Chapter 2. 一般文件操作(包括管道和套接字)

http://www.linuxforum.net/books/upfaq/x395.htm

Posted in 笑容网事.

<script type="text/javascript"></script> <script src="http://pubads.g.doubleclick.net/gampad/ads?correlator=1256106043843&output=json_html&callback=GA_googleSetAdContentsBySlotForSync&impl=s&client=ca-pub-5579373330858458&slotname=Blog_view_468_60&page_slots=Blog_view_468_60&cookie_enabled=1&ga_vid=404670098.1256106044&ga_sid=1256106044&ga_hid=535552862&url=http%3A%2F%2Fwww.oo8h.com%2Fblog%2Fnews_558.html&ref=http%3A%2F%2Fwww.google.cn%2Fsearch%3Fclient%3Daff-cs-360se%26ie%3Dutf-8%26oe%3DUTF-8%26hl%3Dzh-CN%26q%3Dfifo&lmt=1256106043&dt=1256106043859&cc=100&biw=1268&bih=857&ifi=1&oe=utf-8&u_tz=480&u_java=true&u_h=1024&u_w=1280&u_ah=994&u_aw=1280&u_cd=32&flash=10.0.32.18"></script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值