議論/標準入出力/ストリームによる実装/01.標準入出力とは何か/バケツリレー


Top / 議論 / 標準入出力 / ストリームによる実装 / 01.標準入出力とは何か / バケツリレー

このページは何か? (by Tino)

標準入出力におけるバケツリレーの概念について。

概要標準入出力は多段階で受け渡される。
目的すぐに直面するため、設計に織り込むべき。
実例kterm上で、system("ls");というPerlスクリプトを動かす。
ls→Perl→シェル→kterm
標準出力がバケツリレーされて結果がkterm上に出てくる。
理想Mona上。bzcat license.bz2と実行したときの流れ。
bzcat→シェル→コンソール
現実bzcat→プロセス鯖→シェル鯖→カーネル
理想コンソールは取替え自由であるべき。
現実カーネルに行ってカーネルで表示されている。それをユーザープロセスである日本語コンソールやGUIコンソールで受け止めれば、泥沼になっている既存の実装がすっきりする。
説明どこで受け止めるか?受け皿があるまで親へ親へと遡れば良い。処理を書かなければ通過するイメージ。
現実プロセス鯖に登録して流れを曲げてもらっている。
説明A→B→Cのケース。Bが何もしなければ、バケツリレーよりもA→Cを直結する方が効果的に思える。しかしこのモデルはBが出力すると破綻する。なぜならA→CとB→Cの2回線を接続することになるから。純粋に中継だけするケースの方が珍しいため、常にバケツリレーすることになる。
補足ミキシングはあり得る。
実例makeのログを取るために"make >& log"として標準エラー出力と標準出力を一本化。

コメント

議論のページへ。

MENU

now: 6

リンク


最新の20件
2018-10-07 2018-09-20 2018-09-03 2018-05-09 2017-09-29 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-05-29 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 1803, today: 1, yesterday: 0

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2008-03-28 (金) 15:48:03 (3912d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.043 sec.