👌
プロセス間通信(IPC=Inter-Process Communication)
各プロセスは独自のメモリ空間を割り当てられており、他のプロセスから隔離されているため互いに影響を受けない。
ただし、パイプやソケット等を用いることでプロセス間通信(IPC=Inter-Process Communication)が可能。
パイプ(pipe)
- プロセス間の単方向の通信を可能にする仕組み
- 双方向の通信を行うにはパイプが2つ必要
- ファイル記述子を用いる
- FIFO(First In, First Out)先入れ先出し。直線的にデータが流れる。
- つまり最初に送られたデータが最初に読まれる
- データストリーム※の伝送に頻繁に使用される
ソケット(socket)
- ネットワーク上の別のコンピュータとのプロセス間通信を可能にする仕組み
- もちろん同じコンピュータ内のプロセス間通信も可能
- (パイプとは異なり)ソケット一つで双方向の通信が可能
補足
※データストリーム:あらかじめサイズや長さが決められていない大量のデータを、ある場所から別の場所に送ること
参考
Discussion