標準ストリームについて(初級編)

結構周りの人たちに標準出力とか標準入力はわかる or 聞いたことあるよって人多いけど、標準ストリーム?って方が多かったのでまとめます。
(あんまり自分も詳しい訳じゃない…)
ついでに標準出力・入力の理解も深められたらなって思いますので!

自分のイメージで標準ストリームとはズバリ!
中継役みたいなもの!(めっちゃ抽象的www)

Wikipediaによると…

標準ストリーム: standard streams)とは、UNIXUnix系オペレーティングシステム (OS) において、プログラムの活動実体であるプロセスとその実行環境(通常は端末)の間の接続として、(プロセスから見ると)あらかじめ確立されている入出力チャネル(パイプ (コンピュータ))である。OSのカーネルではなくシェルで実装されている機能だが、広く使われているため標準化されている。UNIXやUnix系OSでは3つの入出力があり、標準入力: standard input)、標準出力: standard output)、標準エラー出力: standard error)である。一部のプログラミング言語の実装では、UNIXやUnix系以外のシステムでもUnixと同様の使い勝手を提供するよう、これらを模擬するものがある。MS-DOSにはさらに、シリアルポートに対応する標準補助入出力 (stdaux)、プリンターに対応する標準プリンター出力 (stdprn) もあり、今でもWindowsでAUXやPRNという名前をファイルやコマンド等に使おうとすると問題を起こしたりするのは、これらに関してMS-DOSとの互換性を残しているためである.
Wikipedia(https://ja.wikipedia.org/wiki/%E6%A8%99%E6%BA%96%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0)

つまり標準ストリームってのは三つのモード(標準入力・標準出力・標準エラー出力)のチャネル(メモリバッファの入出力を扱うもの)なんだな!

具体例をあげると
例えば画面に画面にユーザーが何か入力して、それをプログラムに読み込ませるっていう一連の流れを想像して欲しいんですけど

色にこだわっちゃった(笑)

もうこの上の図が全てって言っても過言じゃない気がする…(自分が知らないだけなんですけれども…)
このText TerminalとProcessの間をとり持つ奴らが標準ストリームなんだなって認識してくれればよろしいかと!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です