-
操作系统第五章讨论的典型应用之一是信号量
资源介绍
信号量的典型应用:
(1)生产者——消费者问题
假设,多个生产者和消费者共用一具有n 个缓冲区的缓冲池,生产者向缓冲池中存放数据,消费者从缓冲池中取数据。
分析:根据题意,可设4个信号量:mutex1、 mutex2、 empty 和full。其中,mutex1和mutex2是互斥信号量, empty 和 full是资源信号量,分别表示缓冲池中空缓冲区的数目和满缓冲区的数目。算法描述如下:
问题:应设置几个信号量,为什么?
p1
pm
ck
1
2
…
n
p2
c2
…
…
pi
ci
c1
缓冲池