一:通信分为两类:
控制信息的传递: 低级通信
大批量数据的传递: 高级通信
二:基本的通信方式
(a)主从式通信: 通信的双方存在一种隶属关系, 其中主进程是通信过程的控制者,而从进程是通信过程的从属者。主从式通信具有如下特点:
- 在通信过程中主进程对从进程的资源和数据享有使用权限,而从进程对主进程则没有这种权限。
- 在通信过程中主进程始终控制着从进程的工作和动作过程
- 一旦进程的主从关系确定,在整个通信过程中他们的隶属关系不再发生变化。
例如:终端控制进程和终端进程
(b)会话式通信: 通信进程双方采用请求应答的方式进行通信。在会话式通信中,通信进程双方分为使用者进程个服务者进程。使用者进程通过调用服务者进程来完成进程间的通信。 会话式通信的特点:
- 通信时使用者进程需要事先得到服务者进程的允许,方能使用服务者进程为其提供的服务。
- 服务者进程每次都是根据使用者进程提出的请求服务的 ,并且在进程通信的过程中控制权始终为服务者进程所有
- 同样进程间在确定使用会话方式进行通信时也要建立固定的逻辑关联关系。
例如:用户进程与磁盘管理进程采、用TCP/IP协议的网间进程通信
(c)消息或邮件通信: 通信双方处于一个平等地位,在通信过程中无论接收进程是否准备好,发送进程都可以进行消息发送。发的消息通过消息系统或邮件系统进行大批量数据传递。消息或邮件通信的特点:
- 通信中发送进程能否发送消息,只与消息缓冲区或邮箱中是否有足够大的空闲空间来满足这次通信有关,与需要将信息发送到的目的进程的状态无关
- 发送进程和接收进程之间不需要建立直接的逻辑关联关系
- 发送信息和接收信息必须通过消息缓冲区或邮箱来完成消息的传递
(d)共享存储区通信:进程之间采用信息共享存储区的通信方式来完成进程间的通信。信息共享区域是通信进程都可以访问的数据区。共享存储区的进程通信过程的特点:
- 进程通信中,通信的数据或信息不发生存储移动
- 当需要交互时,通信进程双方通过一个共享存储区完成信息交互
- 共享存储中的数据,可以作为需要交互进程的一部分存储在进程体中