マルチスレッドのプログラミング

遠隔手続き呼び出しとしての入出力

従来の UNIX のモデルでは、あたかも入出力装置に対して遠隔手続き呼び出しを行なっているかのように、入出力が同期した状態に見えました。呼び出しが復帰した時点では、入出力は完了しているか、少なくとも完了しているように見えます。たとえば、書き込み要求は、オペレーティング環境内のバッファーにデータを転送するだけで終了することがあります。

このモデルの利点は、よく使われる手続き呼び出しの考え方が利用されている点です。

従来の UNIX システムにはなかった代替モデルに非同期モデルがあります。このモデルでは、入出力要求は操作を開始させるだけです。プログラム側がなんらかの方法で操作の完了を検出しなければなりません。

非同期モデルは同期モデルほど簡単ではありません。しかし、従来のシングルスレッドの UNIX プロセスでも並行入出力などの処理が可能であるという利点があります。