●在某超市里有一个收银员,且同时最多允许有n个顾客购物,我们可以将顾客和收银员看成是两类不同的进程,且工作流程如图1所示。为了利用PV操作正确地协调这两类进程之间的工作,设置了三个信号量S1、S2和Sn,且初值分别为0、0和n。这样图中的a应填写 (17) ,图中的b1、b2应分别填写 (18) 图中的c1、c2应分别填写 (19) 。图1工作流程图(17) A.P(S1)B.P(S2)C.P(Sn)D.P(Sn)、P(S1)(18) A.P(Sn)、V(S2)B.P(Sn)、V(S1)C.P(S2)、V

题目

●在某超市里有一个收银员,且同时最多允许有n个顾客购物,我们可以将顾客和收银员看成是两类不同的进程,且工作流程如图1所示。为了利用PV操作正确地协调这两类进程之间的工作,设置了三个信号量S1、S2和Sn,且初值分别为0、0和n。这样图中的a应填写 (17) ,图中的b1、b2应分别填写 (18) 图中的c1、c2应分别填写 (19) 。

图1工作流程图

(17) A.P(S1)

B.P(S2)

C.P(Sn)

D.P(Sn)、P(S1)

(18) A.P(Sn)、V(S2)

B.P(Sn)、V(S1)

C.P(S2)、V(S1)

D.V(S1)、P(S2)

(19) A.P(S1)、V(S2)

B.P(Sn)、V(S1)

C.P(S2)、V(S1)

D.V(S1)、P(S2)


相似考题
更多“ ●在某超市里有一个收银员,且同时最多允许有n个顾客购物,我们可以将顾客和收银员看成是两类不同的进程,且工作流程如图1所示。为了利用PV操作正确地协调这两类进程之间的工作,设置了三个信号量S1、S2和Sn,且初值分”相关问题
  • 第1题:

    某仓库有两名发货员,一名审核员。当顾客提货时,只要发货员空闲,允许顾客进入仓库提货,顾客离开时,审核员检验顾客提货是否正确。其工作流程如右下图所示。为了利用PV操作正确地协调他们之间的工作,设置了两个信号量S1和S2,且S1的初值为2, S2的初值为1。图中的a应填写(25);图中的b、c和d应分别填写(26)。

    A.P(S1)

    B.P(S2)

    C.V(s1)

    D.V(s2)


    正确答案:A
    解析:本题考查操作系统中进程之间的相互作用,主要是如何利用P、V操作实现进程间的同步和互斥。P操作表示申请一个资源,即V(S):S=S-1;若S>=0,则调用P操作的进程继续执行:若S0,则调用P操作的进程被阻塞,并把它插入到等待信号量S的阻塞队列中。V操作表示释放一个资源,即V(S):S=S+1;若S>0,则调用V操作的进程继续执行:若S=0,则从等待信号量S的阻塞队列中唤醒第一个进程,然后自己继续执行。本题中,信号量S1用于顾客进程之间的互斥,初值为2,允许2个进程同时执行,对于2个发货员,所以顾客进程首先要看发货员是否空闲,执行P(S1),所以第25题正确答案为A;提货后,顾客进程要释放S1,执行V(S1),然后看审核员是否空闲,这里用信号量S2表示,初值为1,表示只有一个审核员,执行 P(S2),审核后释放S2,执行V(s2),所以第26题正确答案为C。

  • 第2题:

    某系统有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区取产品消费。用PV操作实现进程间的同步模型如图2-3所示。假设信号量S1的初值为1,信号量S2的初值为0,那么,a、b处应当写别填(1),c、d处分别填(2)。

    A.V(S2)、P(S1)

    B.P(S1)、V(S2)

    C.P(S2)、V(S1)

    D.V(S1)、P(S2)


    正确答案:B

  • 第3题:

    某工厂仓库有一名保管员,该仓库可存放n箱零件。该工厂生产车间有m名工人,只要仓库空闲,工人将生产好的整箱零件放入仓库,并由保管员登记入库数量:该工厂销售部有k名销售员,只要仓库库存数能满足客户要求,便可提货,并由保管员登记出库数量。规定工人和销售员不能同时进入仓库,但是工人和工人,销售员和销售员可以同时进入仓库,其工作流程如下图所示。假设系统中P操作表示申请一个资源,当执行P操作叶对信号量减1,若信号量 S≥0,则执行P操作的进程继续执行,否则等待。系统中v操作表示释放一个资源,当执行V操作时对信号量加1,若信号量>0,则执行V操作的进程继续执行;若信号量≤ 0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。为了利用PV操作正确地协调工人和销售员进程之间的工作,设置了信号量S1、S2和S3,他们的初值分别为n、0和1。图中的a和b应填写(40);图中的c、d、g和h应分别填写(41):图中的c、d、g和h应分别填写(42)。

    A.P(S1)、V(S1)

    B.P(S1)、V(S2)

    C.P(S2)、V(S2)

    D.P(S2)、V(S1)


    正确答案:B
    解析:本题考查操作系统中进程之间的相互作用,主要是如何利用P、V操作实现进程间的同步和互斥。本题中,信号量S1表示仓库空闲位置个数,初值为n;S2表示仓库中零件箱数,初值为o;S3用于实现对保管员的互斥访问,初值为1。对于工人进程,首先应执行P(S1),看仓库中是否有空闲位置,若有,则将零件送入仓库,然后执行V(S2),表明仓库中已有一箱零件,通知销售员可以提货。然后执行P(S3),看保管员是否空闲,若空闲,登记入库数,然后V(S3),使保管员处于空闲状态,所以第40题正确答案为B;对于销售员进程,首先执行P(S2),看仓库中是否有货物,若有,可以提货,然后执行 V(S1),表明已经提走一箱零件,空闲出一个位置,工人进程可以放置货物;然后执行 P(S3),看保管员是否空闲,若空闲,登记出库数,然后V(S3),使保管员处于空闲状态,所以第41题正确答案为D:第42题正确答案为D。

  • 第4题:

    某仓库有两名发货员,一名审核员。当顾客提货时,只要发货员空闲,就允许顾客进入仓库提货,顾客离开时,审核员检验顾客提货是否正确。其工作流程如图3.16所示。为了利用P/V操作正确地协调它们之间的工作,设置了两个信号量S1和S2,且S1的初值为2,S2的初值为1。图3.16中的a应填写(34),b、c和d应分别填写(35)。

    A.P(S1)

    B.P(S2)

    C.V(S1)

    D.V(S2)


    正确答案:A
    解析:根据题意,图3.16中的a应填写P(S1),图中的b、c和d应分别填写P(S2)、V(S2)和V(S1)。具体分析参见本章中信号量与P/V操作的相关考点。

  • 第5题:

    某书店有一个收银员,该书店最多允许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。