
背景
进程是系统资源的单位,各个进程拥有的内存地址空间相互独立。并且为了安全性。一个进程不能直接访问另一个的进程地址空间。
通信的方式
1、共享空间 OS提供共享空间、同步互斥工具
虽然两个进程之间不能直接访问彼此的地址空间,但是OS可以提供一个“第三方”空间,作为共享空间。进程必须互斥的访问共享空间。
2、管道通信 内存中的一个固定大小的缓冲区
即pipe,连接读写进程的共享文件。
-
单个管道只能半双工通信。通过两个管道,可以实现双工通信。-
-
数据以字符流写入管道。写满时,写进程的
write()会被阻塞。需要被读走数据。读进程在管道满时,read()读取数据。管道为空时,read()会被阻塞 -
没写满时,不允许读。没读空时,不允许写。

3、消息传递 俩进程间以格式化消息为单位。操作系统提供“发送消息/接收消息”原语。
