操作系统(第四版)-------进程通信
进程通信是指进程之间的信息交换
1.进程通信的类型
高级进程通信机制可归为四大类
①共享存储器系统(操作存储区方式)相互通信的进程共享某些数据结构或共享存储区,进程之间能够通过这些空间进行通信
a.基于共享数据结构的通信方式(诸进程公用某些数据结构,借以实现诸进程的信息交换 例如 生产消费 定义的数据结构)
b.基于共享存储区的通信方式(在存储器划出一块共享存储区,诸进程通过对共享存储区中的数据读或写来实现通信)
②消息传递系统(发 收 方式)
最广泛使用的一种,进程间的数据交换,以格式化的消息为单位。屏蔽底层复杂操作。
③管道通信(中间文件方式)
所谓“”管道“”,是指用于连接一读进程和一写进程以实现通信的一个共享文件
向共享文件输入的写进程以字符流形式将大量的数据送入管道;而接受管道输出的读进程则从管道中接受数据
④Client-Serever system
套接字 一个套接字就是一个通信标识类型的数据结构 系统中所有的连接都持有唯一的对套接字及端口连接
远程过程调用(远程方法调)
RPC应用开发步骤
2.消息传递通信的实现方法
1)直接通信方式 发送进程利用OS所提供的发送命令(原语)。直接把消息发送给目标进程 此时,发送进程和接受进程都以显示方式提供对方的标识符。通常利用系统通信命令(原语)Send(Receiver,message);Receive(Sender,message);
2)间接通信方式 基于共享数据结构的实体用来暂存发送给目标进程的消息;接受进程则从该实体中,取出对方发给自己的消息。通常把这种实体称为信箱 消息在信箱中可以安全的保存
系统为信箱通信提供原语:1)信箱的创建和撤销 信箱名 权限属性 贡献者名称 2)信箱消息的发送和接收 (进程之间利用信箱进行通信时,必须使用共享信箱)
3.消息传递系统的实现
单机和网络环境下的高级进程通信广泛采用消息传递方式 考虑的问题 通信链路的建立 消息格式 同步方式
4.消息缓冲队列通信机制 被广泛应用于本地进程通信 (不需要管理链路 定义简单数据结构 实现发送和接收的操作原语)




浙公网安备 33010602011771号