导图社区 进程的通信
进程的通信,包含在相互通信的进程之间申请建立一块可直接访问的共享存储空间;通信系统中进程之间的数据交换是以格式化的信息为单位。
社区模板帮助中心,点此进入>>
进程的通信
概念
进程之间的信息交换
分类
低级通信
定义
进程之间
信息量较少
效率比较低
高级通信
较高的效率传递大量的数据
共享存储器系统
在相互通信的进程之间申请建立一块可直接访问的共享存储空间
多个进程
可以通过这块共享存储空间进行
读操作
写操作
实现进程之间的通信
类型
基于共享数据结构的通信方式
地位
属于低级通信方式
特点
结构简单
占用内存空间少
具体内容
进程间的通信通过申请建立公用数据结构来实现
基于共享存储区的通信方式
此通信方式为高级通信方式
共享区域大
传送数据量大
消息传递系统
通信系统中进程之间的数据交换是以格式化的信息为单位
例如
网络通信中的报文格式
直接通信方式
发送进程直接把消息发送给接收进程
并把它挂在接收进程的消息缓冲队列中
接收进程从消息队列中取得消息
间接通信方式
打工进程把消息发送到某个中间实体
这个中间实体通常被称为信箱
接收器从中取得消息
称呼
与之通信的系统称为电子邮件系统
应用
广泛应用于计算机网络中
管道通信系统
管道
这里的管道是指用于连接
一个读进程
一个写进程
实现它们之间通信的
一个共享文件
这个共享文件又名为pipe文件
消息传递的特殊通信机制
以文件的格式来传递信息
向管道提供输入的发送进程
共享文件
发送进程
写进程
接收进程
读进程
提供三方面的协调能力
互斥
当有进程正在对pipe执行
其他进程必须等待
同步
当输入进程把一定数量的数据写入pipe
便去阻塞等待
直到输出进程取走数据后
再把它唤醒
当进程读一空pipe时
也应该阻塞等待
直到写进程将数据写入管道后
才将它唤醒
确定
确定对方是否存在
如果存在
才能进行通信
否则阻塞