- 2
- 0
- 约6.83千字
- 约 45页
- 2018-08-27 发布于江苏
- 举报
4 进程同步与通信2
4.6 进程通信(communication) 进程通信指的是进程之间的信息交换; 前面讲过的进程之间的互斥与同步也可以看做是进程之间的一种通信,但它们交换的信息量较少。这里所说的进程之间的通信,指的是进程之间交换较多信息(数据)这样一种情况; 进程通信有三种主要方式,即:共享存储区通信;消息传递通信;管道(共享文件)通信; 共享存储区通信指的是进程之间通过共享变量或数据结构进行通信,这种通信要处理好互斥进入的问题; 消息传递通信又分直接和间接两种形式,“直接”是进程之间直接发送消息进行通信;“间接”是进程之间通过“信箱”进行通信; 管道通信是通过文件系统的管道文件(pipe)进行通信。 4。6。1 消息缓冲通信 消息缓冲通信是消息传递通信中的直接通信方式的一种实现。系统通过消息缓冲区和两条通信原语Send及Receive构建进程之间的一种直接通信机制; 为了实现消息通信,发送进程应先在自己的工作区中设置一个发送区,把欲发送的消息填入其中,然后再用发送原语将其发送出去。接收进程则调用接收原语从自己的消息缓冲队列中摘下一个消息,并将其内容复制到自己的消息接收区内。 消息缓冲通信中的数据结构 消息缓冲区的数据结构如下: struct message { sender; 发送者进程标识符; size; 消
原创力文档

文档评论(0)