35 / 55

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


答案: A|C

答案解析:

 本题考查的是进程同步与互斥、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。

答案: A|C

答案解析:

 本题考查的是进程同步与互斥、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。