操作系统(第四版)-------进程通信

进程通信是指进程之间的信息交换

1.进程通信的类型

高级进程通信机制可归为四大类

①共享存储器系统(操作存储区方式)相互通信的进程共享某些数据结构或共享存储区,进程之间能够通过这些空间进行通信

  a.基于共享数据结构的通信方式(诸进程公用某些数据结构,借以实现诸进程的信息交换  例如 生产消费 定义的数据结构)

  b.基于共享存储区的通信方式(在存储器划出一块共享存储区,诸进程通过对共享存储区中的数据读或写来实现通信)

②消息传递系统(发 收 方式)

最广泛使用的一种,进程间的数据交换,以格式化的消息为单位。屏蔽底层复杂操作。

③管道通信(中间文件方式)

所谓“”管道“”,是指用于连接一读进程和一写进程以实现通信的一个共享文件

向共享文件输入的写进程以字符流形式将大量的数据送入管道;而接受管道输出的读进程则从管道中接受数据

④Client-Serever system

套接字       一个套接字就是一个通信标识类型的数据结构   系统中所有的连接都持有唯一的对套接字及端口连接

远程过程调用(远程方法调)

RPC应用开发步骤

 

2.消息传递通信的实现方法

1)直接通信方式  发送进程利用OS所提供的发送命令(原语)。直接把消息发送给目标进程  此时,发送进程和接受进程都以显示方式提供对方的标识符。通常利用系统通信命令(原语)Send(Receiver,message);Receive(Sender,message);

2)间接通信方式 基于共享数据结构的实体用来暂存发送给目标进程的消息;接受进程则从该实体中,取出对方发给自己的消息。通常把这种实体称为信箱   消息在信箱中可以安全的保存 

系统为信箱通信提供原语:1)信箱的创建和撤销    信箱名  权限属性  贡献者名称   2)信箱消息的发送和接收  (进程之间利用信箱进行通信时,必须使用共享信箱)

 

3.消息传递系统的实现

单机和网络环境下的高级进程通信广泛采用消息传递方式   考虑的问题   通信链路的建立  消息格式  同步方式 

 

4.消息缓冲队列通信机制   被广泛应用于本地进程通信    (不需要管理链路  定义简单数据结构  实现发送和接收的操作原语)

 

posted @ 2018-10-14 14:02  yanbinging  阅读(235)  评论(0)    收藏  举报