进程的通信

8.进程之间的通信

根据交换信息量的多少和效率的高低,进程通信分为低级通信和高级通信

方式

低级:由于进程的互斥和同步,需要在进程之间交换一定的信息,所以也归类为进程通信,只能传递状态和整数值(控制信息),特点时传送信息量小,效率低,每次通信传递的信息量固定,如果传递较多信息需要进行多次通信,编程复杂,用户直接实现通信的细节,容易出错。

高级:提高信号通信的效率,传递大量数据,减轻程序编制的复杂度

有三种方式

1.共享内存模式:在通信进程之间存在一块可以直接访问的共享空间,通过对这片共享空间进行读写操作实现进程之间的信息交换,在对共享空间进行读写操作,需要同步互斥工具,对共享空间的读写操作进行控制

2.消息传递模式:在消息传递系统中,进程之间的数据交换是以格式化的信息message为单位,

如果通信线程之间不存在可以直接访问的共享空间,必须利用操作系统提供的消息传递方法实现进程通信,进程通过系统提供的发送消息和接收消息的两个原语进行数据交换。

又分为直接通信和间接通信方式,

直接通信:将消息发送给接受进程,并将它挂在接受进程的消息缓冲队列中,接受进程从消息缓冲队列中取得的消息,

间接通信:将消息发送给某个中间实体(信箱),接受进程从中间实体中取得消息,又称为信箱通信方式,

甲给乙写信,通过邮差送给乙,这就是直接方式,邮差把信放在乙家门口的邮箱,属于间接方式。

3.共享文件模式

用于连接一个读进程和一个写进程以实现它们之间通信的文件就是共享文件,又称为管道文件

向管道提供输入的写进程,以字符流形式将大量的数据送入写管道,

接受管道输出的读进程,从管道中接受读数据,为了协调双方的通信,管道机制必须提供互斥,同步和确定对方存在的三方面的协调能力。

屏幕剪辑的捕获时间: 2021/1/9 20:39

进程通信:进程之间的信息交换

1.共享存储器系统

2.消息传递系统

直接通信

间接通信

3.管道通信系统

屏幕剪辑的捕获时间: 2021/1/9 20:42

屏幕剪辑的捕获时间: 2021/1/9 20:43

屏幕剪辑的捕获时间: 2021/1/9 20:44

原语:不可分割的操作

原子操作:不可打断的操作

原语:通常由若干条指令组成,用来实现某个特定的操作,通过一段不可分割或不可中断的程序实现其功能,

引入原语的目的:实现进程的通信和控制(包括进程创建,调度,终止,这些操作均不可中断)

屏幕剪辑的捕获时间: 2021/1/9 20:50

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值