操作系统:IPC进程间通讯问题的理解

操作系统:IPC进程间通讯问题的理解

前言: 复习操作系统时,需要记住IPC问题的处理机制,代码硬背一定非常痛苦,因此,网上寻找到了一些关于理解的方法,以及将代码均整理为统一格式,希望可以帮助到你,祝好~

.1生产者消费者

  1. 生产者和消费者是既同步又互斥的关系,首先只有生产者生产了,消费着才能消费,这里是同步的关系。但他们对于临界区的访问又是互斥的关系。因此需要三个信号量empty和full用于同步缓冲区,而mut变量用于在访问缓冲区时是互斥的。
    在这里插入图片描述
    4.2五个哲学家 pass
  2. 五个哲学家分别可以看作是五个进程。五只筷子分别看作是五个资源。只有当哲学家分别拥有左右的资源时,才得以进餐。我们需要对每个资源设置一个信号量,此外,还需要使得哲学家同时拿起两只筷子而设置一个互斥信号量。
    在这里插入图片描述
    在这里插入图片描述
    4.3读者写者(重点看!!)
  3. 这里的读者和写者是互斥的,而写者和写者也是互斥的,但读者之间并不互斥。
  4. 由此我们可以设置3个变量,一个用来统计读者的数量,另外两个分别用于对读者数量读写的互斥,读者和读者、写者和写者的互斥。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    4.4理发师(重点看!!)
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值