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

题目

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

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

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

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

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


相似考题
更多“进程PA不断地向管道写数据,进程PB从管道中读数据并加工处理,如图所示。如果采用P-V操作来实现进程 ”相关问题
  • 第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


    正确答案:B
    解析:这是一个典型的生产者—消费者问题,其中PA、PB分别为生产者和消费者,管道为临界区。程序应该设置1个同步信号量,信号量为1时说明管道已满,拒绝PA再写入数据;信号量为0时说明管道为空,拒绝PB再读出数据。管道初始是没有数据的,所以初始值为0。程序还需要1个互斥信号量,来保证程序只有一个进程访问管道,其初始值为1。

  • 第2题:

    在xsh2.c样例程序中,主循环结束前执行了close(fd[1])。如果省略了此操作,下面哪个说法正确?

    A.会导致管道写端子进程无法正常运行结束因而无法完成预期功能

    B.会导致管道读端子进程无法正常运行结束因而无法完成预期功能

    C.管道读写端子进程都能正常运行结束并且完成预定的功能,但父进程文件描述符资源不能正常回收,多轮循环以后资源耗尽程序无法完成预期功能

    D.管道读写分别由两个子进程完成,父进程不关心管道操作,子进程完成操作后自然会关闭文件,因此这个操作完全可以省略


    0

  • 第3题:

    采用UNIX管道实现进程间通信时,用int pipe(int fildes[2])创建管道,其中fildes[1]为写端,()为读端。


    错误

  • 第4题:

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

    A.1个信号量,信号量的初值为0
    B.2个信号量,信号量的初值分别为0、1
    C.3个信号量,信号量的初值分别为0、0、1
    D.4个信号量,信号量的初值分别为0、0、1、1

    答案:B
    解析:

  • 第5题:

    3、进程对管道进行读操作和写操作都可能被阻塞。


    正确