|
standard error =========================== 「 Stderr 」を含む部分一致用語の検索リンク〔 1 件 〕 ・stderr : standard error
標準ストリーム()は、Unix系オペレーティングシステムにおいて、プログラムの活動実体であるプロセスと、その実行環境(通常は端末)の間の接続として、(プロセスから見ると)あらかじめ確立されている入出力チャネル(パイプ (コンピュータ) )である。OSカーネルではなくシェルで実装されている機能だが、広く使われているため標準化されている。Unix系では3つの入出力があり、標準入力 (standard input)、標準出力 (standard output)、標準エラー出力 (standard error) である。 一部のプログラミング言語の実装では、Unix系以外のシステムでも、Unixと同様の使い勝手を提供するよう、これらを模擬するものがある。MS-DOSにはさらに、シリアルポートに対応する標準補助入出力 (stdaux)、プリンタに対応する標準プリンタ出力 (stdprn)もあり、今でもWindowsでAUXやPRNという名前をファイルやコマンド等に使おうとすると問題を起こしたりするのは、これらに関してMS-DOSとの互換性を残しているためである。 == 背景 == UNIX以前の多くのオペレーティングシステムでは、プログラムは明示的に適当な入出力に接続する必要があった。多くのシステムにはOS固有の複雑な事情があり、環境設定をしたり、ローカルなファイルテーブルにアクセスしたり、必要なデータセットを指定したり、カードリーダー、磁気テープドライブ、ディスクドライブ、ラインプリンタ、カードパンチ、対話型端末などを正しく扱うといったプログラミング以前のハードルが多数存在した。 UNIXはこの状況に対していくつかの重要な進化を遂げている。その1つが「抽象デバイス (abstract device)」である。これはプログラム自体がやり取りするデバイスに関する知識を持たなくて済むようにしたものである。古いOSでは、プログラマはレコード構造を知っておく必要があり、直交性のないことが多いデータ意味論やデバイス制御を扱う必要があった。UNIXはデータストリームという概念によってこのような複雑さを排除した。データストリームとは、逐次的なデータバイト列であり、End Of File までリード可能である。プログラムはまた、好きなだけバイト列を出力でき、事前にバイト数を宣言しておく必要もないし、それらがどのようにグループ化されているかを宣言する必要もない。 もう1つのUNIXの成し遂げたブレークスルーは、自動的に入力と出力を関連付けることであり、典型的な入力-処理-出力型プログラムでは入出力の設定を何もする必要がない。対照的にそれ以前のOSでは、複雑なジョブ制御言語を使ってコネクションを確立するか、それとほぼ同等のことをプログラム本体で行う必要があった。 UNIXが標準ストリームを提供したことで、そのC言語実行環境もそれをサポートするようになった。結果として、多くのC言語実行環境(および派生言語の実行環境)はOSが何であっても同等な機能を提供するようになっている。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「標準ストリーム」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Standard streams 」があります。 スポンサード リンク
|