nojimaです。

 いろいろ調べたのですがどうしても別らないので御聞きします。
ヒントだけで結構ですので、情報お持ちの方は教えて頂けると嬉しいです。

 なお、質問中のプロセスAのような機能を実際に実装しているUNIX用の
プログラムがあれば、そのプログラムの名前を教えていただけるだけでも結構です。

[Q] UNIXで動作するプロセスA/Bを用意します。

   ここで、プロセスBは標準入力(stdin)からデータを吸い込んで標準出力(stdout)
  にはきだす機能があります。ただ、プロセスBについては、

   ・標準入力(stdin)からデータを吸い込んで内部で加工し、加工したデータを
     標準出力(stdout)に出力するということ以外全くわからない

 ものとします。つまり、プロセスBは、

  ・どれだけ読みこんだら出力に出力するのか、また、

  ・どれだけ出力したら読込みに転じるのか、

 が全く不明なものとします。

 この時、名前無しpipeを2本作り、片方のpipeを使ってプロセスAから
プロセスBへデータを出力し、同時にもう片方のpipeを使ってプロセスAが
再度受け取るというものを作ろうとしたと仮定します。

+-->B-->+
|       |
+---A---+

 この場合にプロセスAはどうすれば、

  ・ プロセスBにできるだけ滞ることなくデータを出力でき、

  ・ プロセスBからできるだけ滞ることなくデータを得ることが出来

ますでしょうか?どのような機構がプロセスAには必要なのでしょうか?

#O_NONBLOCKとかはpipeだと何でかわからないのですが効いてくれないし、
#read/writeのブロックについてはselect/alarm等のtime outで復活させる位
#しか思い付けない...
#ashとかは既に読んでいるのですが、該当する機構が見付からないのです