翻訳と辞書
Words near each other
・ streamer
・ Streaming
・ streaming anisotropy
・ Streaming API for XML
・ streaming birefringence
・ streaming mercury electrode
・ streaming potential
・ Streaming SIMD Extensions
・ streamline
・ streamline flow
・ STREAMS
・ Streams
・ streatch reflex
・ Strecker coronary stent
・ Strecker synthesis
・ street
・ STREET "H"
・ STREET ANGEL
・ STREET BREEZE
・ street crime


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

STREAMS : ウィキペディア日本語版
STREAMS
STREAMSは、UNIX System Vキャラクタデバイスの実装フレームワークである。
STREAMS は、カーネルやユーザ空間プロセスとデバイスドライバとの全二重双方向のキャラクタI/Oを実装するモジュール性の高いアーキテクチャとして設計された。端末I/Oやネットワークサブシステムの開発によく使われた。System V Release 4 では、全ての端末インタフェースがSTREAMSを使って実装された。
STREAMS は、プロトコルスタックを実装するためのカーネル内の仕組みである。たとえば、TCP/IPでは、TCP や IP がそれぞれSTREAMSモジュールとして実装される。STREAMSモジュールには上位層への双方向接続ポートと下位層への双方向接続ポートを持つ。STREAMSモジュールは基本的には上位層や下位層のことを全く知らなくてもよい構造になっていて、TCPモジュールのルーチンがIPのルーチンを直接コールすることはない。
STREAMS はBSDソケットAPIと対抗する技術だが、STREAMSを使ったシステムでは常にソケットのインタフェースも提供された。STREAMS はソケットよりも複雑だが、柔軟性も高い。
== 歴史 ==
STREAMS はデニス・リッチーVersion 8 Unix に導入したのが最初であり、その時点で端末I/OTCP/IPプロトコルに使われていた。当時のUNIXの入出力システムコール(''open''、''close''、''read''、''write''、''ioctl'')に新たな機能を導入しようとする試みであったが、その応用は端末I/Oとパイプ状のI/O意味論を提供するプロトコル群に限定されていた。その後、Robert Israel、Gil McGrath、Dave Olander、Her-Daw Che、 Maury Bach らが System V Release 3 に移植し、様々なトランスポート層プロトコル(TCP/IP、ISO Class 4 transport、SNA LU 6.2、RFS で使う AT&T NPACK protocol)を STREAMS で実装できるよう拡張された。これはまず、UNIX System V Release 3 の Network Support Utilities (NSU) パッケージと共にリリースされた。この時点で、''putmsg''、''getmsg''、''poll'' というシステムコールが追加された。これらはそれぞれ、BSDソケットの ''send''、''recv''、''select'' システムコールに相当するが、名前空間の衝突を避けるために別の名前を付けている。System V Release 4 では、STREAMS は端末I/Oフレームワークやパイプの実装にも使われ、双方向パイプやファイル記述子の受け渡しといった便利な機能が追加された〔。UNICOSへの移植も行われている。
ベル研究所によるオリジナルの実装は遅いという悪評があったが、SVR3 やその後の実装では特に性能が悪いという話はない。
SVR3への移植と並行して、AT&TOSI参照モデルの各層(2層から4層まで)についてのSTREAMSメッセージパッシングの(プロトコルに依存しない)ガイドラインを開発した。
* データリンク層 - DLPI (Data Link Provider Interface)
* ネットワーク層 - NPI (Network Provider Interface)
* トランスポート層 - TPI (Transport Provider Interface)
しかし、ネットワーク層とトランスポート層の間はプロトコルスタックの実装に依存する部分が大きく、また上位層 (5-7) はカーネルでは実装されないことから、データリンク層〔とトランスポート層がそれぞれの上位層に見せるSTREAMSインタフェースだけが後にX/Openによって標準化された。トランスポート層の実装に依存しないメッセージパッシング型のAPIとして Transport Layer Interface (TLI) が定義され、後に X/Open Transport Interface (XLI) として採用された。また、セッション層プレゼンテーション層アプリケーション層をサポートするライブラリが定義され、後に The Open Groupが標準化した。
STREAMS は Single UNIX Specification のバージョン1(UNIX95)とバージョン2(UNIX98)では必須とされていたが、BSDLinuxでは採用されなかったためバージョン3(UNIX03)ではオプションとなっている。

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「STREAMS」の詳細全文を読む




スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.