参考答案和解析

s=0表示满缓冲的数量、即多少缓冲区里有消息
m=1表示互斥信号量
A:P(m)B:V(m)C:P(s)D:P(m)
由题意,m用于实现进程互斥,初值应为1,并应成对出现,由接收者进程的V(m)操作可知,m用于实现消息链存、取缓冲区操作的互斥,故D为P(m)。相应的,A为P(m),B为V(m)。
由发送者进程可知,当发送者将一个消息放入消息链尾后,执行V(s)操作,故s表示接收者可取消息的数量,又因s用于实现进程同步,所以接收者接受消息前,应判断是否有消息可以取,需对s执行P操作,所以C为P(s),发送者发送消息前,接收者无消息可取,s的初值应为0。

更多“有一发送者进程和一接收者进程,其流程如下。s是用于实现进程同步的信号量,m是用于实现进程互斥的信号量。试完成流程图。假定缓冲区有无限多个,s和m的初值为多少? ”相关问题
  • 第1题:

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

    A.V(S2)、P(S1)

    B.P(S1)、V(S2)

    C.P(S2)、V(S1)

    D.V(S1)、P(S2)


    正确答案:B

  • 第2题:

    假设系统采用PV操作实现进程同步与互斥,若有n个进程共享一台扫描仪,那么当信号量S的值为-3时,表示系统中有(23)个进程等待使用扫描仪。

    A.0

    B.n-3

    C.3

    D.n


    正确答案:C
    在PV操作中,信号量用于表示系统中现有资源的数量,当信号量值为负数时,代表这类资源系统已经分配完毕。此时,对负数取绝对值能得到当前等待进程数量。

  • 第3题:

    假设系统中有n个进程共享3台扫描仪,并采用PV操怍实现进程同步与互斥。若系统信号量S的当前值为一l,进程Pl.P2又分别执行了1次P(S)操作,那么信号量S的值应为( )。

    A.3

    B.-3

    C.1

    D.-1


    正确答案:B

  • 第4题:

    假设系统有6个进程共享一个互斥段,如果最多允许3个进程同时进入互斥段,则信号量S的初值为(请作答此空),信号量S的变化范围是( )。

    A.0
    B.1
    C.3
    D.6

    答案:C
    解析:
    本题考查操作系统进程管理中信号量与同步互斥方面的基础知识。
    本题中已知有6个进程共享一个互斥段,而且最多允许3个进程同时进入互斥段,这意味着系统有3个单位的资源,所以,信号量的初值应设为3。
    当第一个申请该资源的进程对信号量S执行P操作,信号量S减l等于2,进程可继续执行;当第二个申请该资源的进程对信号量S执行P操作,信号量S再减1等于1,进程可继续执行;当第三个申请该资源的进程对信号量S执行P操作,信号量S再减1等于0,进程可继续执行;当第四个申请该资源的进程对信号量S执行P操作,信号量S再减1等于-1,进程申请的资源得不到满足处于等待状态;当第五个申请该资源的进程对信号量S执行P操作,信号量S减1等于-2;当第六个申请该资源的进程对信号量S执行P操作,信号量S再减1等于-3,进程申请的资源得不到满足处于等待状态。所以信号量S的变化范围是-3~3。

  • 第5题:

    假设系统中有n个进程共享3台扫描仪,并采用PV操作实现进程同步与互斥。若系统信号量S的当前值为-1,进程P1、P2又分别执行了1次P(S)操作,那么信号量S的值应为( )。

    A.3
    B.-3
    C.1
    D.-1

    答案:B
    解析:
    本题考查的是操作系统PV操作方面的基本知识。系统采用PV操作实现进程同步与互斥,若有n个进程共享3台扫描仪,那么信号量S初值应为3。若系统当前信号量S的值为-1,此时,P1、P2又分别执行了1次P(S)操作,即当P1进程执行P(S)操作时,信号量S的值等于-2;当P2进程执行P(S)操作时,信号量S的值等于-3。

  • 第6题:

    信号量机制是一种有效的实现进程同步与互斥的工具。信号量只能由P、V操作来改变。

    A

    B



  • 第7题:

    设有n个进程共享一个互斥段,如果:  (1)每次只允许一个进程进入互斥段;  (2)每次最多允许m个进程(m≤n)同时进入互斥段。  试问:所采用的信号量初值是否相同?信号量值的变化范围如何?


    正确答案: 所采用的互斥信号量初值不同。
    1)互斥信号量初值为1,变化范围为 [-n+1 ,1]。
    当没有进程进入互斥段时,信号量值为1;当有1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为0;当有1个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为-1;最多可能有n-1个进程等待进入互斥段,故此时信号量的值应为-(n-1)也就是-n+1。
    2)互斥信号量初值为m,变化范围为 [-n+m ,m]。
    当没有进程进入互斥段时,信号量值为m;当有1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为m-1;当有m个进程进入互斥段且没有一个进程等待进入互斥段时,信号量值为0;当有m个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为-1;最多可能有n-m个进程等待进入互斥段,故此时信号量的值应为-(n-m)也就是-n+m。

  • 第8题:

    操作系统中利用信号量和P、V操作,()。

    • A、只能实现进程的互斥
    • B、只能实现进程的同步
    • C、可实现进程的互斥和同步
    • D、可完成进程调度

    正确答案:C

  • 第9题:

    用信号量S实现对系统中5台打印机的互斥使用,S.value的初值应设置为(),若S.value的当前值为-1,则表示S.L队列中有()个等待进程。


    正确答案:5;1

  • 第10题:

    问答题
    设有n个进程共享一个互斥段,如果:  (1)每次只允许一个进程进入互斥段;  (2)每次最多允许m个进程(m≤n)同时进入互斥段。  试问:所采用的信号量初值是否相同?信号量值的变化范围如何?

    正确答案: 所采用的互斥信号量初值不同。
    1)互斥信号量初值为1,变化范围为 [-n+1 ,1]。
    当没有进程进入互斥段时,信号量值为1;当有1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为0;当有1个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为-1;最多可能有n-1个进程等待进入互斥段,故此时信号量的值应为-(n-1)也就是-n+1。
    2)互斥信号量初值为m,变化范围为 [-n+m ,m]。
    当没有进程进入互斥段时,信号量值为m;当有1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为m-1;当有m个进程进入互斥段且没有一个进程等待进入互斥段时,信号量值为0;当有m个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为-1;最多可能有n-m个进程等待进入互斥段,故此时信号量的值应为-(n-m)也就是-n+m。
    解析: 暂无解析

  • 第11题:

    填空题
    有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是()。

    正确答案: [1-m,1]
    解析: 暂无解析

  • 第12题:

    单选题
    操作系统中利用信号量和P、V操作,()。
    A

    只能实现进程的互斥

    B

    只能实现进程的同步

    C

    可实现进程的互斥和同步

    D

    可完成进程调度


    正确答案: D
    解析: 暂无解析

  • 第13题:

    某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取产品消费。假设该缓存区只能容纳一个产品。进程P1与P2的同步模型如下图所示:

    为此,应设信号量S1的初值为(18),信号量S2的初值为(19)。

    A.-2

    B.-1

    C.0

    D.1


    正确答案:D
    解析:由于系统中只有一个缓冲区,需要设置一个信号量S1,且初值为1,表示缓冲区空,可以将产品送入缓冲区。为了实现P1与P2进程间的同步问题,设置另一个信号量S2,且初值为0,表示缓冲区有产品。这样,当生产者进程P1生产产品送入缓冲区时需要判断缓冲区是否为空,需要执行P(S1),产品放入缓冲区后需要执行V(S2),通知消费者缓冲区已经有产品。而消费者进程P2在取产品消费之前必须判断缓冲区是否有产品,需要执行P(S2),取走产品后缓冲区空了,需要执行V(S1),释放缓冲区。

  • 第14题:

    已知有10个进程共享一个互斥段,如果最多允许6个进程同时进入互斥段,则信号量S的初值是(1),其变化范围是(2)。

    A.0

    B.1

    C.5

    D.6


    正确答案:D

  • 第15题:

    假设系统有6个进程共享一个互斥段如果最多允许3个进程同时进入互斥段,则 第1章程序员上生试题分析与解答 信号量S的初值为.(26),信号量S的变化范围是(27)。

    A.0

    B.1

    C.3

    D.6


    正确答案:C
    本题考查操作系统进程管理中信号量与同步互斥方面的基础知识。本题中已知有6个进程共享一个互斥段,而且最多允许3个进程同时进入互斥段,这意味着系统有3个单位的资源,所以,信号量的初值应设为3。当第一个申请该资源的进程对信号量S执行P操作,信号量S减l等于2,进程可继续执行;当第二个申请该资源的进程对系信号量S执行P操作,信号量S再减1等于1,进程可继续执行;当第三个申请该资源的进程对系信号量S执行P操作,信号量S再减l等于0,进程可继续执行;当第四个申请该资源的进程对系信号量S执行P操作,信号量S再减1等于-l,进程申请的资源得:斥到满足处于等待状态;当第五个申请该资源的进程对系信号量S执行P操作,信号量s.减l等于-2;当第六个申请该资源的进程对系信号量S执行P操作,信号量S再减1等于-3,进程申请的资源得不到满足处于等待状态。所以信号量S的变化范围是-3~3。

  • 第16题:

    假设系统有6个进程共享一个互斥段,如果最多允许3个进程同时进入互斥段,则信号量S的初值为( ),信号量S的变化范围是(请作答此空)。

    A.0~6
    B.-3~3
    C.-4~2
    D.-5~1

    答案:B
    解析:
    本题考查操作系统进程管理中信号量与同步互斥方面的基础知识。
    本题中已知有6个进程共享一个互斥段,而且最多允许3个进程同时进入互斥段,这意味着系统有3个单位的资源,所以,信号量的初值应设为3。
    当第一个申请该资源的进程对信号量S执行P操作,信号量S减l等于2,进程可继续执行;当第二个申请该资源的进程对信号量S执行P操作,信号量S再减1等于1,进程可继续执行;当第三个申请该资源的进程对信号量S执行P操作,信号量S再减1等于0,进程可继续执行;当第四个申请该资源的进程对信号量S执行P操作,信号量S再减1等于-1,进程申请的资源得不到满足处于等待状态;当第五个申请该资源的进程对信号量S执行P操作,信号量S减1等于-2;当第六个申请该资源的进程对信号量S执行P操作,信号量S再减1等于-3,进程申请的资源得不到满足处于等待状态。所以信号量S的变化范围是-3~3。

  • 第17题:

    不需要信号量能实现的功能是()。

    A.进程同步
    B.进程互斥
    C.执行的前趋关系
    D.进程的并发执行

    答案:D
    解析:
    在多道程序技术系统中,信号量机制是一种有效的实现进程同步与互斥的工具。进程执行的前趋关系实质上是指进程的同步关系。除此以外,只有进程的并发执行不需要信号量来控制。

  • 第18题:

    信号量机制是一种有效的实现进程同步与互斥的工具。信号量只能由P、V操作来改变。


    正确答案:正确

  • 第19题:

    有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是()。


    正确答案:[1-m,1]

  • 第20题:

    用PV操作实现多个并发进程的互斥执行时,信号量的初值为()

    • A、 0
    • B、 1
    • C、 2
    • D、 资源个数

    正确答案:B

  • 第21题:

    用PV操作实现进程互斥进入相关临界区时,要求()

    • A、用一个信号量S与一组相关临界区联系起来
    • B、任何进程在进入临界区前应调用P操作
    • C、进程退出临界区进调用V操作来释放一个等待信号量S的进程
    • D、一个等待信号量S的进程被释放后便可以进入它的临界区
    • E、一个等待信号量S的进程被释放后应再调用P操作后才能进入它的临界区.

    正确答案:A,B,C,D

  • 第22题:

    判断题
    信号量机制是一种有效的实现进程同步与互斥的工具。信号量只能由P、V操作来改变。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第23题:

    问答题
    应用题:设有n个进程共享一个互斥段,如果:(1)每次只允许一个进程进入互斥段;(2)每次最多允许m个进程(m≤n)同时进入互斥段。试问:所采用的信号量初值是否相同?信号量值的变化范围如何?

    正确答案: 所采用的互斥信号量初值不同。
    1)互斥信号量初值为1,变化范围为 [-n+1,1]。
    当没有进程进入互斥段时,信号量值为1;当有1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为0;当有1个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为-1;最多可能有n-1个进程等待进入互斥段,故此时信号量的值应为-(n-1)也就是-n+1。
    2)互斥信号量初值为m,变化范围为 [-n+m,m]。
    当没有进程进入互斥段时,信号量值为m;当有1个进程进入互斥段但没有进程等待进入互斥段时,信号量值为m-1;当有m个进程进入互斥段且没有一个进程等待进入互斥段时,信号量值为0;当有m个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为-1;最多可能有n-m个进程等待进入互斥段,故此时信号量的值应为-(n-m)也就是-n+m。
    解析: 暂无解析