某书店有一个收银员,该书店最多允许n个购书者进入。将收银员和购书者看作不同的进程,其工作流程如下图所示。利用PV操作实现该过程,设置信号量S1、S2和Sn,初值分别为0,0,n。则图中a1, a2应填入(46),图中b1和b2应填入(47)。

admin2008-08-01  40

问题 某书店有一个收银员,该书店最多允许n个购书者进入。将收银员和购书者看作不同的进程,其工作流程如下图所示。利用PV操作实现该过程,设置信号量S1、S2和Sn,初值分别为0,0,n。则图中a1, a2应填入(46),图中b1和b2应填入(47)。

选项 A、V(S1)、P(S2)
B、V(Sn)、P(Sn)
C、p(S1)、V(S2)
D、P(S2)、V(S1)

答案A

解析 本题考查的是进程同步与互斥、PV操作实现进程通信方面的基本概念。收银员进程和购书者进程之间是一个同步问题,需要设置两个同步信号量S1和S2,且初值都为0。其中,S1用来控制购书者购书结束,需要通知收银员需要缴费。S2用来控制收银员收费结束,通知购书者可以缴费。因为书店最多只允许有n个购书者,所以书店是一个临界资源,最多允许n个购书者购书,因此需要设置一个互斥信号量Sn,初值等于n。当购书者进入书店时需要执行 P(Sn)操作,当购书者退出时需要执行V(Sn)操作。试题(46)中,购书者进程付款时先做V(S1)操作表示购书结束,然后做P(S2)操作通知收银员需要缴费。因此,试题(46)的正确答案为A,试题(47)中,收银员进程收费时先做P(S1)操作检查有无需要缴费的购书者,然后收费,当收费结束做V(S2)操作通知购书者进程可以缴费。因此,试题(47)的正确答案为C。
转载请注明原文地址:https://jikaoti.com/ti/1F67FFFM
0

最新回复(0)