4、对于消息缓冲队列通信机制,应在消息接收者进程控制块中设立一个互斥信号量以控制相关进程对消息缓冲队列的互斥访问,该信号量的初始值通常置为()。A.NB.-1C.0D.1

题目

4、对于消息缓冲队列通信机制,应在消息接收者进程控制块中设立一个互斥信号量以控制相关进程对消息缓冲队列的互斥访问,该信号量的初始值通常置为()。

A.N

B.-1

C.0

D.1


相似考题
参考答案和解析
消息队列
更多“4、对于消息缓冲队列通信机制,应在消息接收者进程控制块中设立一个互斥信号量以控制相关进程对消息缓冲队列的互斥访问,该信号量的初始值通常置为()。”相关问题
  • 第1题:

    阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。

    【说明】

    在并发系统设计中,通过对信号量S的P、V操作实现进程的同步与互斥控制。

    P(S):S:=S-1,若S≥0,则执行P操作的进程继续执行:若S<0,则置该进程为阻塞状态,并将其插入阻塞队列。

    V(S):S:=S+1,若S>0,则执行V操作的进程继续执行;若S≤0,则从阻塞队列唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续执行。

    在某并发系统中,有一个发送进程A、一个接收进程B、一个环形缓冲区BUFFER、信号量S1和S2。发送进程不断地产生消息并写入缓冲区BUFFER,接收进程不断地从缓冲区BUFFER取消息。假设发送进程和接收进程可以并发地执行,那么,当缓冲区的容量为N时,如何使用P、V操作才能保证系统的正常工作。发送进程A和接收进程B的工作流程如图4-1所示。请在图4-1中的空(1)~(4)处填入正确的内容。


    正确答案:(1)P(S1) (2)V(S2) (3)P(S2) (4)V(S1)
    (1)P(S1) (2)V(S2) (3)P(S2) (4)V(S1) 解析:本题考查的是并发系统的同步与互斥控制。
      在并发系统中,同时存在的多个进程在执行速度上是相对独立的,它们以各自的运行速度向前推进。但是,由于多个并发进程或者共享系统资源,或者合作完成某项任务,所以它们之间常常存在着相互制约或彼此依赖的关系,进程之间的这种制约和依赖关系可以归结为两种基本形式:同步和互斥。
      一般来说,一个进程相对于另一个进程的运行速度是不确定的,也就是说进程是在异步环境下运行的,每个进程都有各自独立的、不可预知的速度向前推进。但是相互合作的进程需要在某些确定点上协调它们的工作,当一个进程到达了这些点后,除非另一进程已经完成了某些操作,否则就不得不停下来等待这些操作结束。这就是进程间的同步。
      在多道程序系统中,各进程可以共享各类资源,但有些资源一次只能供一个进程使用,称为临界资源(critical resource,CR),如打印机、公共变量、内存工作区、表格等。临界区(critical section,CS)是进程中对临界资源实施操作的那段程序。
      在多道程序系统中,一般都使用P、V操作原语通过信号量实现进程的同步和互斥。信号量是一种特殊的变量,它具有以下特性:
      ▲ 信号量是一个整型变量。
      ▲ 每一个信号量表示一种系统资源的状况,其值表示资源当前可用的数量。
      ▲ 每一个信号量都对应一个空或非空的等待队列,该队列就是信号量所表示的资源的等待队列。
      ▲ 对信号量只能实施P、V操作,只有P、V操作才能改变其值。
      P操作的功能是:当进程执行P操作时,首先将信号量S减一,其结果为:若 S0,则该进程继续运行;若S0,则阻塞该进程,并把它插入道信号量S的等待队列中。
      V操作的功能是:当进程执行V操作时,首先将信号量S加1,其结果是:若S>0,则该进程继续执行;如果S≤o,则释放S信号量等待队列中队首的等待进程,解除其阻塞状态,而调用V操作的当前进程继续执行。
      P、V操作是一对操作,若有对信号量的P操作,必定有对该信号量的V操作,这样才能保证资源被合理地分配和释放。
      问题1:缓冲区BUFFER是临界资源,信号量S1表示缓冲区中空闲单元的数目,初值为N,信号量S2表示缓冲区中消息的数目,初值为0。
      显然,发送进程海产生一条消息,将消耗一个空闲的缓冲区单元,所以将消息送入缓冲区时应先执行一个P(S1),写入消息后执行一个V(S2)。当接收进程执行时,若缓冲区中有消息,则可读取,然后将释放一个空闲单元,所以接收进程进入其临界区后先执行一个P(S2),读取消息后执行一个V(S1)。

  • 第2题:

    进程间的通信方式不能传递大量信息的是( )。

    A)共享内存

    B)消息缓冲

    C)信箱通信

    D)信号量及P、V操作


    正确答案:D
    解决进程之间的大量信息通信的问题有三种方案:共享内存、消息机制以及通过共享文件进行通信,即管道通信。这三种方式可以称为高级通信原语,它们不仅要保证相互制约的进程之间的正确关系,还要同时实现进程之间的信息交换,其中,消息机制包括消息缓冲通信与信箱通信。 

  • 第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题:

    众多进程对临界资源的访问应采用( ),以实现资源的共享。

    A.进程通信

    B.同步互斥

    C.信号量

    D.原语


    正确答案:B
    解析:临界资源是指一次只允许一个进程使用的资源,为了实现进程同步,必须实现对临界资源的互斥访问。

  • 第5题:

    m个进程(Pi,0≤i≤m-1)通过k个等长的缓冲区(Bi,0≤i≤k-1)向n个进程(Qi,0≤i≤m-1)发送消息。每个进程Pi发送消息的顺序与数量不受限制,每个进程Qi接收消息的顺序与数量也不受限制,但发送进程与接收进程作为两个分别的整体,要求消息发送与接收的整体次序相同。为保证消息发送与接收的充分并行,需要设置(24)。

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

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

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

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


    正确答案:D
    解析:本题考查的是信号量与P、V操作的概念及其在解决同步、互斥问题中的运用。信号量的值是有物理意义的。如果令信号量S的值为L,当L0时,表示可以允许有L个进程次(允许一个进程多次)连续地通过P(S)操作(意思是这个过程中没有执行V(S)操作),无须进入等待状态;当L≤0时,表示有-L个进程正在信号量S对应的等待队列中,等待由进程执行V(S)将它们释放。原则上,一个同步条件需要一个信号量来管理。本题中,缓冲区的个数有k个,这意味着发送进程可以连续地向缓冲区组发送k个消息,中间无须接收进程取走消息,只有当缓冲区全装满消息,发送进程才需要等待接收进程取走消息,以便腾空缓冲区可以再放消息。因此设立信号量S1,初值为k。此外,缓冲区有多个,为了保证存放消息的次序,需要约束发送进程,按缓冲区号顺序放入消息。因此需设置一个变量f,指示当前消息放入f号缓冲区,f的初值为零。发送进程放入一个消息后,执行f+1操作,指向下一个缓冲区。这样,变量f为m个发送进程所共享,为保证修改的互斥,需要设置一个信号量S2,初值为1。从接收进程角度来看,Qi取走消息的前提是缓冲区中必须有尚未取走的消息。刚开始时,缓冲区为空,S2的初值应为0。另一方面,为了保证取消息的顺序必须与送入消息的顺序一致,接收进程同样需要一个共享变量t来指示当前需要取走的消息所在的缓冲区号,取走消息后执行t+1操作。还要设置一个信号量S4,初值为0。这样,共需设置4个信号量S1、S2、S3\S4,初值分别为k、1、0、1。下图表示多个发送进程与多个接收进程利用一组缓冲区通信的流程。

  • 第6题:

    PV过程使用的进程间通信的方式是()。

    A.信号量传递

    B.缓冲区通信

    C.管道通信

    D.信箱通信

    E.消息通信


    参考答案:A

  • 第7题:

    利用内存中若干公共缓冲区组织成队列,以实现进程之间信息交换的通信方式称为

    A.共享内存

    B.消息机制

    C.管道通信

    D.套接字


    正确答案:B

  • 第8题:

    消息缓冲通信中的临界资源是()。

    • A、消息队列
    • B、消息缓冲区
    • C、发送区
    • D、接收区

    正确答案:B

  • 第9题:

    PV过程使用的进程间通信的方式是()。

    • A、信号量传递
    • B、缓冲区通信
    • C、管道通信
    • D、信箱通信
    • E、消息通信

    正确答案:A

  • 第10题:

    利用内存中若干公共缓冲区组织成队列,以实现进程之间信息交换的通信方式称为()

    • A、共享内存
    • B、消息机制
    • C、管道通信
    • D、套接字

    正确答案:B

  • 第11题:

    单选题
    进程间的通信方式不能传递大量信息()。
    A

    共享内存

    B

    消息缓冲

    C

    信箱通信

    D

    信号量及P、V操作


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

  • 第12题:

    单选题
    消息缓冲通信中的临界资源是()。
    A

    消息队列

    B

    消息缓冲区

    C

    发送区

    D

    接收区


    正确答案: A
    解析: 消息缓冲通信的原理就是发送方和接收方通过消息缓冲区交换数据,发送方放入数据的时候,接收方不能取出数据。

  • 第13题:

    若系统中有多个发送进程和接收进程,进程间的工作流程如图4-2所示,其中空 (1)~(4)的内容与图4-1相同。发送进程产生消息并顺序地写入环形缓冲区BUFFER,接收者进程顺序地从BUFFER中取消息,且每条消息只能读取一次。为了保证进程间的正常通信,增加了信号量SA和SB。

    ①请说明信号量SA和SB的物理意义,并在图4-2中的空(5)和空(6)处填入正确的内容。

    ②请从图4-2的(a)~(1)中选择四个位置正确地插入P(SA)、V(SA)、P(SB)、V(SB)。


    正确答案:表示允许同时对缓冲区进行写操作的进程数量 表示允许同时对缓冲区进行读操作的进程数量 P(SA)插入位置(b)V(SA)插入位置(f)P(SB)插入位置(h)V(SB)插入位置(k)。 解法2: 表示允许同时对缓冲区进行读操作的进程数量 表示允许同时对缓冲区进行写操作的进程数量 P(SB)插入位置(b)V(SB)插入位置(f)P(SA)插入位置(h)V(SA)插入位置(k)。
    表示允许同时对缓冲区进行写操作的进程数量 表示允许同时对缓冲区进行读操作的进程数量 P(SA)插入位置(b),V(SA)插入位置(f),P(SB)插入位置(h),V(SB)插入位置(k)。 解法2: 表示允许同时对缓冲区进行读操作的进程数量 表示允许同时对缓冲区进行写操作的进程数量 P(SB)插入位置(b),V(SB)插入位置(f),P(SA)插入位置(h),V(SA)插入位置(k)。 解析:当系统中有多个发送进程和接收进程时,对缓冲区的写操作应互斥地进行,并且发送进程对下标i的修改要顺序地进行:同时,要保证每个消息只能被读取1次,对缓冲区的读操作也要互斥地进行,并且接收进程对下标j的修改要顺序地进行。因此,信号量SA和SB用于对缓冲区的写、读操作进行互斥控制。

  • 第14题:

    在消息缓冲通信方式中,临界资源为( )。

    A 发送进程

    B 消息队列

    C 接收进程

    D 信箱


    参考答案B

  • 第15题:

    ______进程间的通信方式不能传递大量信息。

    A.共享内存

    B.消息缓冲

    C.信箱通信

    D.信号量及P、V操作


    正确答案:D
    解析:解决进程之间的大量信息通信的问题有三种方案:共享内存、消息机制以及通过共享文件进行通信,即管道通信。这三种方式可以称为高级通信原语,它们不仅要保证相互制约的进程之间的正确关系,还要同时实现进程之间的信息交换。

  • 第16题:

    下列说法中,正确的是

    A.进程之间同步,主要源于进程之间的资源竞争,是指对多个相关进程在执行次序上的协调

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

    C.V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值小于等于0,则从等待队列中唤醒一个进程,现进程变为等待状态;否则现进程继续进行

    D.临界区是指每次仅允许一个进程访问的资源


    正确答案:B
    解析:A:注意同步和互斥的区别;C:V操作加1后如果信号量的值小于等于0,则唤醒一个进程,否则进程继续执行;D:注意区分临界区和临界资源。

  • 第17题:

    如下选项中不属于进程通信机制的是( )。

    A.消息

    B.共享内存

    C.信号量

    D.原语


    正确答案:D
    解析:操作系统中常用的进程通信机制包括消息、共享内存、信号量、管道等,在Linux系统中,socket和信号也是进程通信机制,原语也是由若干条指令构成的完成特定功能的一个过程,一个原子操作要么全做,要么全不做。

  • 第18题:

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


    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。

  • 第19题:

    进程间的通信方式不能传递大量信息()。

    • A、共享内存
    • B、消息缓冲
    • C、信箱通信
    • D、信号量及P、V操作

    正确答案:B

  • 第20题:

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


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

  • 第21题:

    消息缓冲通信中的临界资源是()

    • A、消息缓冲队列
    • B、接收区
    • C、发送区
    • D、消息缓冲区

    正确答案:D

  • 第22题:

    实现进程互斥时,用()对应,对同一个信号量调用PV操作实现互斥。 

    • A、一个信号量与一个临界区
    • B、一个信号量与一个相关临界区
    • C、一个信号量与一组相关临界区
    • D、一个信号量与一个消息

    正确答案:C

  • 第23题:

    单选题
    消息缓冲通信中的临界资源是()
    A

    消息缓冲队列

    B

    接收区

    C

    发送区

    D

    消息缓冲区


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

  • 第24题:

    单选题
    PV过程使用的进程间通信的方式是()。
    A

    信号量传递

    B

    缓冲区通信

    C

    管道通信

    D

    信箱通信

    E

    消息通信


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