我曾经大量使用 buffer(1) 程序,尤其是在与磁带驱动器通信时。它是 20 世纪 90 年代编写的程序,本质上使用循环共享内存缓冲区来加速两个管道程序之间的 I/O。
标准 Linux 发行版中是否有程序可以执行类似的操作?或者这种类型的程序现在真的有用吗?
答案1
有一个包叫缓冲在 Debian 中,这可能就是您所记得的程序。它最后一次在上游更新是在 2001 年,记录为源的 URL 已不再有效。如果您的发行版没有提供它,您可以从 Debian 获取源代码或二进制包。
该buffer
程序在生产者和消费者之间设置了一个缓冲区,这可以加快操作时间。然而,这并不是一个能够以某种方式“加速两个管道程序之间的 I/O”的程序。该程序仅在特定情况下有用:当读取器和写入器的速度都是可变的时,这样程序buffer
可以在生产者比消费者快时不断积累数据,并在消费者比消费者快时继续提供数据。制片人。在常见情况下,其中一方始终是瓶颈,或者瓶颈是 CPU 时间而不是阻塞 I/O 时,buffer
这是没有用的。