STREAMS
出典: フリー百科事典『ウィキペディア(Wikipedia)』
STREAMSは、UNIX System Vのネットワークアーキテクチャである。
STREAMSは、ネットワークサービスを実装するためのモジュールアーキテクチャとして設計された。最初に導入されたのはVersion 8 Unixで、その後 System V Release 3 では OSI のプロトコルスタックを見越して導入されたが、結局 Release 4 で TCP/IP を実装するのに使われた。本来のAT&Tの実装 [1] は非常に性能が悪かった(抽象化層のオーバーヘッドによると思われる)が、サードパーティの実装では深刻な性能問題は発生していない。STREAMSシステムはX/Open Transport Interface API をユーザプログラム向けに提供しているが、BSDの socket をエミュレートする層を挟んで使われることが多かった。
STREAMSは、主にUNIXで使われたが、アップルコンピュータ社は Mentat 社の実装したSTREAMSのライセンス提供を受け、MacOS 7.5.2 以降にネットワークシステム OpenTransport の一部として導入した。STREAMS アーキテクチャはMac OS Xのクラシック環境に残っている。ただし、本来のネットワークアーキテクチャは socket である。
STREAMS は、プロトコルスタックを実装するためのカーネル内の仕組みである。たとえば、TCP/IPでは、TCP や IP がそれぞれSTREAMSモジュールとして実装される。STREAMSモジュールには上位層への双方向接続ポートと下位層への双方向接続ポートを持つ。STREAMSモジュールは基本的には上位層や下位層のことを全く知らなくてもよい構造になっていて、TCPモジュールのルーチンがIPのルーチンを直接コールすることはない。このモジュール性の高さから OSI のプロトコルスタック実装に使うという発想が出てきたものと思われる。
カテゴリ: UNIX | 並行計算 | コンピュータ関連のスタブ項目