OS-进程间通信的方式

277 阅读1分钟

背景

进程是系统资源的单位,各个进程拥有的内存地址空间相互独立。并且为了安全性。一个进程不能直接访问另一个的进程地址空间。

通信的方式

1、共享空间 OS提供共享空间、同步互斥工具

虽然两个进程之间不能直接访问彼此的地址空间,但是OS可以提供一个“第三方”空间,作为共享空间。进程必须互斥的访问共享空间。

2、管道通信 内存中的一个固定大小的缓冲区

即pipe,连接读写进程的共享文件。

  • 单个管道只能半双工通信。通过两个管道,可以实现双工通信。-

  • 数据以字符流写入管道。写满时,写进程的write()会被阻塞。需要被读走数据。读进程在管道满时,read()读取数据。管道为空时,read()会被阻塞

  • 没写满时,不允许读。没读空时,不允许写。

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