进程通信 - wolai 笔记
进程通信是指进程之间的信息交互。PV操作是低级通信方式,高级通信方式是指以较高的效率传输大量数据的通信方式。

1.共享存储

设置一个共享空间;要互斥的访问共享空间

1.1两种方式

基于数据结构(低级)

  • 如:共享空间中放一数组
  • 速度慢、限制多

基于存储区的共享(高级)

  • 内存中数据的形式、存放位置由进程控制
  • 速度快

2. 管道通信

  • 设置一个特殊的共享文件(管道),其实就是一个缓冲区
  • 一个管道只能实现半双工通信
  • 实现双向同时通信要建立两个管道
  • 各进程要互斥访问管道
  • 写满时,不能再写。读空时,不能再读
  • 没写满,不能读。没读空,不能写
  • 数据一旦被读出,就从管道中被抛弃:意味着读进程最多只能有一个,否则可能会有读错数据的情况

3. 消息传递

传递结构化的消息(消息头/消息体)
系统提供“发送/接受原语”

3.1两种方式

直接通信方式

  • 消息直接挂到接受方的消息队列中

间接(心想)通信方式

  • 消息先发到中间体(信箱)

Comment