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

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

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

.1生产者消费者

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

猜你喜欢

转载自blog.csdn.net/qq_42549774/article/details/103985766