itgle.com

用P、V操作管理临界区时,把信号量sign的初值设为1。当sign的等待队列中有k(k>1)个进程时,信号量的值为( )。A)kB)k-1C)1-kD)-k

题目

用P、V操作管理临界区时,把信号量sign的初值设为1。当sign的等待队列中有k(k>1)个进程时,信号量的值为( )。

A)k

B)k-1

C)1-k

D)-k


相似考题
更多“用P、V操作管理临界区时,把信号量sign的初值设为1。当sign的等待队列中有k(k>1)个进程时,信号量的 ”相关问题
  • 第1题:

    用PV操作管理临界区时把信号量的初值定义为1,现已有一个进程在临界区,但有n个进程在等待进人临界区,这时信号量的值为()。

    A.1

    B.-1

    C.-N

    D.N


    正确答案:C

  • 第2题:

    若P、V操作的信号量S初值为2,当前值为-1,则表示有() 个等待进程。

    A.0

    B.l

    C.2

    D.3


    参考答案:B

  • 第3题:

    进程P通过缓冲区K不断向n个进程Qi(1≤i≤n)发送消息,消息大小与缓冲区K一样。为了使每个接收进程都应该接收到与发送次序一样的消息序列,需要配置(23)。

    A.2个信号量,初值分别为1,0

    B.2个信号量,初值分别为1,n,

    C.3个信号量,初值分别为1,0,0

    D.3个信号量,初值分别为1,1,0


    正确答案:C
    解析:本题考查的是信号量与P、V操作在复杂条件下的运用。每个信号量原则上只能用来保证一个同步关系。这里,一个同步关系是发送进程必须遵循“取后再送”。也就是说,缓冲区被送入消息后,只有n个接收进程都取到了该消息,发送进程才能再次送入消息。而不能让发送进程不顾接收情况连续地往缓冲区内送消息,导致有的消息尚未取走就被新消息覆盖。因此应该设一个信号量S1,由于刚开始时,缓冲区内没有消息,所以S1的初值应该为1。再次发送消息前执行P(S1)。另一个同步关系是接收进程必须遵循“送后再取”。也就是说,接收进程在接收到消息后,必须等到新消息送入后才能再去取,而不能连续地取,导致接收到的消息出现重复。因此,应该设一个信号量S2,由于刚开始时,缓冲区内没有消息,所以的初值应该为0。接收消息之前接收进程应该执行P(S2)。所有进程都接收了一条消息后执行V(S1)。发送进程发送一条消息后应该执行V(S2)。这看来是简单的生产者与消费者关系,其实不然。本题的问题出在接收进程有n个,而且每个接收进程接收消息的次序必须与发送次序相同。因此,应该设一个共享变量T,记录有多少个接收进程已经接收了同一条消息,T得初值为n。如果已经全部接收了消息,就可以允许发送进程发送下一条消息了,否则还不能发送。那么。既然T为所有接收进程所共享,是否也应该设一个信号量,以保证互斥呢?其实这是不必要的,因为接收进程在接收消息前必须执行P(S2),而S2的初值为0,只有在发送进程执行了V(S2)以后才只允许一个接收进程通过P(S2),如果将对T的操作放在接受进程执行P(S2)以后,互斥不会成为问题。其次,并不是所有接收进程接收了消息后都去执行V(S1),只是(对同一条消息而言)最后一个接收进程接收了消息后才去执行V(S1)。否则,随便一个接收进程接收消息后就去执行V(S1),使发送进程可以发送新消息,就会导致消息被覆盖,有的接收进程就再也不能接收到这条消息了。因此,接收进程接收了消息后,需将T减1,然后判断自己是否是(对同一条消息而言)最后一个接收到这条消息的进程,如果是(T=0),就先将T改为n,再执行V(S1),让发送进程再次发送消息;否则执行V(S2),唤醒下一个等待接收该消息的接收进程。但是,这样仅仅能够保证每一条消息只能被接收n次,并不能防止某个动作极快地接收进程连续多次接收同一条消息,而动作较慢的进程的接收机会却被抢夺。因此,必须控制不是(对同一条消息而言)最后一个接收到消息的接收进程的运行速度,避免造成接收不同消息的进程排在同一个队列(信号量S2所对应)中,让信号量S2所对应的队列中的排队元素永远是等待接收最新消息的进程。显然,这样又出现了一个新的同步条件,一个调节接收进程运行速度的同步条件。为此,应该再设置一个信号量S3,初值为0。不是(对同一条消息而言)最后一个接收到消息的接收进程在接收消息后执行V(S3),先在这个队列上等待。(对同一条消息而言)最后一个接收到该消息的进程在接收消息以后,将它们(共有n-1个进程)全部释放,共同进入对下一条消息的角逐。下图表示发送、接收进程的流程。

  • 第4题:

    重新定义P操作: P(s): S=S-1; if s<0 then {将本进程插入相应等待队列的队首}; V操作的定义不变。 使用上述定义的信号量操作。现有n个进程竞争进入一个临界区,需要使用(24),并保证进程能够以正常的次序公平地进入临界区。

    A.1个信号量,初值为1

    B.2个信号量,初值分别为1,0

    C.n-1个信号量,初值均为1

    D.n/2个信号量,初值均为1


    正确答案:C
    解析:本题考查的是信号量,P、V操作,队列等多方面的概念及其运用。回顾正常定义的P、V操作:P(s):s=s-1;ifs0then{将本进程插入相应等待队列的队尾};V(s):s=s+1;ifs≤0then{将本进程插入就绪队列,唤醒相应等待队列的队首进程}:显然,这样可以保证在多个进程竞争进入临界区时,能保证按先等待、先唤醒的次序进入临界区。但是,根据新的P操作定义(V操作定义不变),这时唤醒将以后进先出的次序进行。因此为了保证正常次序,每个等待队列上等待的元素不能超过两个,否则必定会产生不公平现象。根据题意,有n个进程竞争进入一个临界区,考虑临界区的互斥性,只能有一个进程进入,其余进程将进入等待队列。考虑公平性,就需要n-1个队列,也就是n-1个信号量,初值均为1。当n个进程到来时,只有1个进程进入临界区,其他进程分别进入n-1个队列等待,每队一个进程。在队列Si上等待的进程被唤醒,就将进入队列Si+1,上等待,依次下去,直到进入临界区。这时竞争进程流程见下页右侧图。

  • 第5题:

    用P、V操作管理临界区时,把信号量mutex的初值设定为1。当有k(k>1)个进程在mutex的等待队列中时,信号量的值为

    A.k

    B.k 1

    C.1 k

    D.k


    正确答案:D

  • 第6题:

    当某进程执行P操作时,首先对S信号量减1,当S≤0时表示资源得不到满足,系统将执行P操作的进程插入等待队列。


    正确答案:错误

  • 第7题:

    用PV操作管理临界区时,把信号量的初值定义为1,现有n个进程在等待进入临界区,这时信号量的值为()

    • A、n
    • B、n-1
    • C、1-n
    • D、-n

    正确答案:D

  • 第8题:

    下列对进程互斥概念的表述正确的是()。

    • A、若进程A和B在临界区上互斥,则当A位于临界区内时,可以被B打断
    • B、信号量是初值为零的整型变量,可对其作加l和减l操作
    • C、信号量是1个整型变量,对其只能作P和V操作
    • D、在临界区内,可以对两个进程同时进行P操作

    正确答案:C

  • 第9题:

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

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

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

  • 第10题:

    单选题
    下列对进程互斥概念的表述正确的是()。
    A

    若进程A和B在临界区上互斥,则当A位于临界区内时,可以被B打断

    B

    信号量是初值为零的整型变量,可对其作加l和减l操作

    C

    信号量是1个整型变量,对其只能作P和V操作

    D

    在临界区内,可以对两个进程同时进行P操作


    正确答案: D
    解析: A中两进程在临界区互斥,则必须等一个完成之后才能启动另一个。
    B中信号量的初值是整型,不一定是0。
    D中临界区内只能操作一个进程。

  • 第11题:

    单选题
    用P、V操作管理临界区时,信号量的初值一般应定义为()。
    A

    -1

    B

    0

    C

    1

    D

    任意值


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

  • 第12题:

    单选题
    用PV操作管理临界区时,把信号量的初值定义为1,现有n个进程在等待进入临界区,这时信号量的值为()
    A

    n

    B

    n-1

    C

    1-n

    D

    -n


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

  • 第13题:

    若P、V操作的信号量S初值为2,当前值为-1,则表示有()个等待进程。

    A.0

    B.1

    C.2

    D.3


    参考答案B

  • 第14题:

    进程PA不断地向管道写数据,进程PB从管道中读数据并加工处理,如图5-1所示。如果采用P、V操作来实现进程PA和PB的管道通信,并且保证这两个进程并发执行的正确性,则至少需要(2)。

    A.1个信号量,信号量的初值是0

    B.2个信号量,信号量的初值是0、1

    C.3个信号量,信号量的初值是0、0、1

    D.4个信号量,信号量的初值是0、0、1、1


    正确答案:B
    解析:在单处理机中,由于多道程序的存在,即系统要对多个进程进行管理,而不可避免地涉及到并发控制。而进程间的互斥和同步是并发控制的有效手段。不允许两个以上的共享某资源的并发进程同时进入临界区称为互斥。此处,所谓的临界区是指每个进程中访问临界资源(临界资源是指公用数据,公用硬件或软件资源等)的那段程序代码。进程同步是指一组并发进程因直接制约而互相发送消息进行互相合作、互相等待,使得各进程按一定的速度执行的过程。在操作系统中,主要通过信号量和P、V原语来实现进程的同步和互斥。信号量sem是一个整数,在sem大于等于零时表示可供并发进程使用的资源实体数;sem小于零时,其绝对值表示正在等待使用临界区的进程数。P原语的主要操作是:(1)sem减1;(2)若sem减1后仍大于或等于零,则该进程继续执行:(3)若sem减1后小于零,则该进程被阻塞,在相应队列中排队,然后转向系统的进程调度。V原语的主要操作是:(1)sem加1;(2)若相加结果大于零,则进程继续执行:(3)若相加结果小于或等于零,则唤醒一阻塞在该信号量上的进程,然后再返回原进程继续执行或转进程调度。进程间可以互相传递信息和数据,这称为进程间通信(IPC)。进程的互斥和同步可归结为低级通信(P、V原语可看做是低级通信原语),一般只传送一个或几个字节的控制信息。操作系统还提供了高级通信机制,高级通信的目的不是为了控制进程的执行速度,而是为了交换信息。高级通信可分为三大类:共享存储器系统、消息传递系统和管道通信系统。本题是一个典型的生产者一消费者的问题,其中进程PA和PB分别为生产者与消费者,管道为临界区。程序应该设置1个同步信号量S1,当S1=1时说明管道已满,拒绝PA再写入数据:当S1=0时说明管道为空,拒绝PB再读出数据,管道初始是没有数据的,所以初始值为S1=0。同时,程序还需要设置1个互斥信号量S2,用以保证在同一时刻,只有一个进程访问管道,初始值为S2=1。首先,当进程PA需要向管道写数据时,执行P操作,S2-1=0,这时,如果PB需要从管道中读数据时,也执行P操作,S2-1=-1,则进程PB阻塞,直到PA写完数据后执行V操作,S2+1=0,唤醒进程PB读取数据。

  • 第15题:

    用P、V操作经管临界区时,信号量的初值应定义为()

    A.-1

    B.0

    C.1

    D.任意值


    正确答案:C

  • 第16题:

    有一个仓库可以存放P1、P2两种产品,但是每次只能存放一种产品。要求:

    ①w=P1的数量-P2的数量;

    ②-1<w<k(i、k为正整数)。

    若用P/V操作实现P1和P2产品的入库过程,则至少需要上(26)个同步信号量及(27)个互斥信号量。其中,同步信号量的初值分别为(28),互斥信号量的初值分别为(29)。

    A.0

    B.1

    C.2

    D.3


    正确答案:C
    解析:同步是指进程间共同完成一项任务时直接发生相互作用的关系,即具有伙伴关系的进程在执行时间次序上必须遵循的规律。互斥是指进程因竞争同一资源而相互制约。在本题中,相当于P1和P2两种产品竞争同一仓库。设置2个同步信号量SP1和SP2,SP1表示存放产品P1,其初值为i-1(因为i为正整数,没有存放时为0):SP2表示存放产品P2,其初值为k-1。因为只有1个仓库,所以只需要设置1个互斥信号量,其初值为1。

  • 第17题:

    若P、V操作的信号量S初值为2,当前值为1,则表示有()个等待进程。

    A0

    Bl

    C2

    D3


    B

  • 第18题:

    用PV操作管理临界区时,若有n个进程在等待进入临界区,则这时的信号量值为()

    • A、n
    • B、l
    • C、0
    • D、-n

    正确答案:D

  • 第19题:

    PV操作是在信号量上的操作,若此时信号量的值小于0,则()

    • A、不允许进程调用V操作
    • B、调用P操作的进程不会成为等待状态
    • C、当前已有进程在等待信号量
    • D、当前无进程在临界区执行

    正确答案:C

  • 第20题:

    用P、V操作管理临界区时,信号量的初值一般应定义为()。

    • A、-1
    • B、0
    • C、1
    • D、任意值

    正确答案:C

  • 第21题:

    单选题
    用P、V操作管理临界区时,信号量的初值应定义为(  )。
    A

    一1

    B

    0

    C

    1

    D

    任意值


    正确答案: A
    解析:

  • 第22题:

    单选题
    用P、V操作管理临界区时,把信号量mutex的初值设定为1。当mutex的等待队列中有k(k>1)个进程时,信号量的值为()。
    A

    k

    B

    k-1

    C

    1-k

    D

    -k


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

  • 第23题:

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

    用一个信号量S与一组相关临界区联系起来

    B

    任何进程在进入临界区前应调用P操作

    C

    进程退出临界区进调用V操作来释放一个等待信号量S的进程

    D

    一个等待信号量S的进程被释放后便可以进入它的临界区

    E

    一个等待信号量S的进程被释放后应再调用P操作后才能进入它的临界区.


    正确答案: A,B
    解析: 暂无解析