进程PA不断地向管道写数据,进程PB从管道中读数据并加工处理,如图3-4所示。如果采用PV操作来实现进程PA和进程PB间的管道通信,并且保证这两个进程并发执行的正确性,则至少需要______。A.1个信号量,信号量的初值为0B.2个信号量,信号量的初值分别为0,1C.3个信号量,信号量的初值分别为0,0,1D.4个信号量,信号量的初值分别为0,0,1,1

题目

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

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

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

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

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


相似考题
更多“ 进程PA不断地向管道写数据,进程PB从管道中读数据并加工处理,如图3-4所示。如果采用PV操作来实现进程PA和进程PB间的管道通信,并且保证这两个进程并发执行的正确性,则至少需要______。A.1个信号量,信号”相关问题
  • 第1题:

    进程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读取数据。

  • 第2题:

    常见的嵌入式Linux进程间通信机制包括信号、管道、___【35】____、信号量、共享内存和___【36】____。


    正确答案:消息队列 套接字

  • 第3题:

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

    A.信号量传递

    B.缓冲区通信

    C.管道通信

    D.信箱通信

    E.消息通信


    参考答案:A

  • 第4题:

    假设系统中有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。

  • 第5题:

    当管道的读端不存在时,向管道写入数据进程的将()

    • A、收到内核传来的SIGPIPE信号
    • B、会向管道写入数据,但系统禁止读取管道数据
    • C、会写数据失败,系统也不做任何出错回应
    • D、系统禁止向管道写入数据,并释放管道

    正确答案:A

  • 第6题:

    如果进程PA对信号量S执行P操作,则信号量S的值应()

    • A、加1
    • B、减1
    • C、等于0
    • D、小于0

    正确答案:B

  • 第7题:

    在相互通信的进程间设置一个公共内存区,一组进程向该公共内存中写,另一组进程从该公共内存中读,通过这种方式实现两组进程间信息交换的方式称为()。

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

    正确答案:A

  • 第8题:

    有一资源可供n个进程共享,但限制各进程只能互斥使用它,如果采用PV操作来管理,则可能出现的信号量最大值为()


    正确答案:1

  • 第9题:

    什么是管道?如何通过管道机制实现进程间通信?


    正确答案: 管道(pipeline)是连接读写进程的一个特殊文件,允许进程按先进先出传送数据,也能使进程同步执行操作。
    发送进程视管道文件为输出文件,以字符流形式把大量数据送入管道;接收进程将管道文件视为输入文件,从管道中接收数据,所以,也叫管道通信。
    管道中的消息是无界的,它存于外存。
    此外,还需要一定的机制协调读写进程。

  • 第10题:

    填空题
    有一资源可供n个进程共享,但限制各进程只能互斥使用它,如果采用PV操作来管理,则可能出现的信号量最大值为()

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

  • 第11题:

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

    不允许进程调用V操作

    B

    调用P操作的进程不会成为等待状态

    C

    当前已有进程在等待信号量

    D

    当前无进程在临界区执行


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

  • 第12题:

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

    信号量传递

    B

    缓冲区通信

    C

    管道通信

    D

    信箱通信

    E

    消息通信


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

  • 第13题:

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

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

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

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

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


    正确答案:C
    解析:本题考查的是进程同步互斥方面的知识。在系统中的每一个进程其工作的正确与否不仅取决于它自身的正确性,而且与它在执行中能否与其他相关进程正确的实施同步互斥有关。常用PV操作实现进程同步与互斥。试题是关于两个进程合作的同步问题,是一个典型的生产者和消费者的问题。生产者进程PA不断地向管道写数据,消费者进程PB从管道中读数据并加工处理。为了实现 PA与PB进程间的同步问题,需要设置一个信号量S1,且初值为1,表示管道未满,可以将数据写入管道;设置另一个信号量S2与管道是否有数据联系起来,当信号量的值为“0”时表示进程PA还未将数据写入管道,当信号量的值为非“0”时表示管道有数据存在。其同步过程如图所示。试题(26)的正确答案是C。

  • 第14题:

    进程P不断地从外部设备输入数据后通过缓冲区K向进程Q成批(以缓冲区大小为单位)传送,进程Q接到数据并做进一步处理后通过缓冲区T向进程S成批传送,进程R接到数据后将它们打印出来,K和T大小一样。要求打印数据的次序与进程P接收数据的次序一样。

    为了在保证结果正确性的前提下尽可能并行工作,需要设置(23)。

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

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

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

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


    正确答案:C
    解析:本题是考查信号量概念与P、V操作的实际运用,解决进程之间的同步与互斥问题。这个问题看起来是两对生产者与消费者组合的问题。由于进程P、Q、R存在着供给与消费的关系,这种关系体现了一种次序依赖关系。一方面,进程Q必须等待进程P接收到一批数据并将其放入缓冲区K后才可以取来加工,进程R必须等待进程Q将一批数据加工完成并放入缓冲区T以后才可以取来打印;另一方面,进程P必须等待进程Q取走缓冲区K的数据后才能将下一批数据放入K中,进程Q必须等进程R将缓冲区T的数据取走进行打印后才可以将加工好了的下一批数据放入T中。但是,进程P和Q之间并没有直接的依赖关系。因此,系统呈现这样一种工作流程:因此,进程P和Q之间存在两个同步条件,需要有两个信号量S1和S2来保证进程P和Q的同步关系,它们的初值分别为1和0;进程Q和R之间也一样,需要有两个信号量S1和S2来保证它们的同步关系,初值也分别是1和0。下图表示这3个进程的工作流程。

  • 第15题:

    下列关于进程间通信的描述中,不正确的是( )。

    A)进程互斥是指每次只允许一个进程使用临界资源

    B)P、V操作是一种进程同步机制

    C)管道是一种进程高级通信机制

    D)进程控制不是通过原语实现的


    正确答案:D

  • 第16题:

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

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

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

  • 第17题:

    如何利用信号量PV操作实现进程的同步?


    正确答案: PV操作不仅是实现进程互斥的有效工具,而且还是一个简单又方便的同步工具。用一个信号量与一个消息联系起来,当信号量的值为0时,表示所期望的尚未产生,当信号量的值为大于0时,表示所期望的消息已经存在。

  • 第18题:

    常见的嵌入式Linux进程间通信机制包括信号、管道、()、信号量、共享内存和()。


    正确答案:消息队列;套接字

  • 第19题:

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

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

    正确答案:A

  • 第20题:

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

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

    正确答案:C

  • 第21题:

    下述关于PROCESS语句特点的描述,哪个不正确()

    • A、PROCESS不可以与其它进程并发运行
    • B、进程结构中的所有语句都是按顺序执行的
    • C、为启动进程,进程中必须包含一个显示的敏感信号量
    • D、进程之间的通讯是通过信号量传递来实现的

    正确答案:A

  • 第22题:

    单选题
    当管道的读端不存在时,向管道写入数据进程的将()
    A

    收到内核传来的SIGPIPE信号

    B

    会向管道写入数据,但系统禁止读取管道数据

    C

    会写数据失败,系统也不做任何出错回应

    D

    系统禁止向管道写入数据,并释放管道


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

  • 第23题:

    填空题
    常见的嵌入式Linux进程间通信机制包括信号、管道、()、信号量、共享内存和()。

    正确答案: 消息队列,套接字
    解析: 暂无解析