itgle.com

在生产者/消费者问题中,用s表示实施互斥的信号量,e表示与缓冲区空闲空间数量相关的信号量,n表示与缓冲区中数据项个数相关的信号量,下列生产者和消费者的操作(生产者和消费者可并发执行),可能产生死锁的是()。A.生产者:wait(s); wait(e); append(); signal(n); signal(s);消费者: wait(s); wait(n); take(); signal(e); signal(s);B.生产者:wait(s); wait(e); append(); signal(n);

题目

在生产者/消费者问题中,用s表示实施互斥的信号量,e表示与缓冲区空闲空间数量相关的信号量,n表示与缓冲区中数据项个数相关的信号量,下列生产者和消费者的操作(生产者和消费者可并发执行),可能产生死锁的是()。

A.生产者:wait(s); wait(e); append(); signal(n); signal(s);消费者: wait(s); wait(n); take(); signal(e); signal(s);

B.生产者:wait(s); wait(e); append(); signal(n); signal(s);消费者: wait(n); wait(s); take(); signal(s); signal(e);

C.生产者:wait(e); wait(s); append(); signal(s); signal(n);消费者: wait(s); wait(n); take(); signal(e); signal(s);

D.生产者:wait(e); wait(s); append(); signal(s); signal(n);消费者: wait(n); wait(s); take(); signal(s); signa


相似考题
更多“在生产者/消费者问题中,用s表示实施互斥的信号量,e表示与缓冲区空闲空间数量相关的信号量,n表示与缓冲区中数据项个数相关的信号量,下列生产者和消费者的操作(生产者和消费者可并发执行),可能产生死锁的是()。”相关问题
  • 第1题:

    操作系统在使用信号量解决同步与互斥问题中,若P(或wAit)、V(或signAl)操作的信号量S初值为3,当前值为-2,则表示有( )等待进程。

    A 0个

    B 1个

    C 2个

    D 3个


    参考答案C

  • 第2题:

    “生产者—消费者”问题是一个经典的进程同步与互斥控制问题,若缓冲区可存放n件物品,要解决这个问题,通常需要使用______个信号量。

    A.1

    B.2

    C.3

    D.4

    A.

    B.

    C.

    D.


    正确答案:C
    解析:设有一个生产者、一个缓冲区和一个消费者,缓冲区可存放n件物品。生产者不断地生产产品,消费者不断地消费产品。如何用PV操作实现生产者和消费者的同步。可以设置3个信号量S、S1和S2,其中,S是一个互斥信号量且初值为1,因为缓冲区是一个互斥资源,所以需要进行互斥控制;S1表示是否可以将物品放入缓冲区,初值为n;S2表示缓冲区是否存有物品,初值为0。

  • 第3题:

    对于有界缓冲区数量为n的生产者-消费者问题来说,应设置互斥信号量mutex、资源信号量full和empty,它们的初值分别应为()。

    A.0、1、n

    B.1、n、0

    C.n、1、0

    D.1、0、n


    参考答案:D

  • 第4题:

    某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取出产品销售。假设仓库可存放n件产品。用PV操作实现他们之间的同步过程如下图所示。其中,信号量s是一个互斥信号量,初值为( );S1是一个(请作答此空);S2是一个( )。

    A.互斥信号量,表示仓库的容量,初值为n
    B.互斥信号量,表示仓库是否有产品,初值为0
    C.同步信号量,表示仓库是否有产品,初值为0
    D.同步信号量,表示仓库的容量,初值为n

    答案:D
    解析:
    本题主要考查PV操作实现同步与互斥。从图中可以看出,当生产一件产品送入仓库时,首先应判断仓库是否有空间存放产品,故需要执行P (S1)操作,该操作是对信号量S1减1,若多0表示仓库有空闲,则可以将产品放入仓库。由于仓库的容量为n,最多可以存放n件产品,所以信号量S1初值应设为n。故正确答案为D

  • 第5题:

    某企业生产流水线M共有两位生产者,生产者甲不断地将其工序上加工的半成品放入半成品箱,生产者乙从半成品箱取出继续加工。假设半成品箱可存放n件半成品,采用PV操作实现生产者甲和生产者乙的同步可以设置三个信号量S、S1和S2,其同步模型如下图所示。

    信号量S是一个互斥信号量,初值为(请作答此空);S1、S2的初值分别为( )。

    A.0
    B.1
    C.n
    D.任意正整数

    答案:B
    解析:
    由于信号量S是一个互斥信号量,表示半成品箱当前有无生产者使用,所以初值为1。
    信号量S1表示半成品箱容量,故其初值为n。当生产者甲不断地将其工序上加工的半成品放入半成品箱时,应该先测试半成品箱是否有空位,故生产者甲使用P(S1)。信号量S2表示半成品箱有无半成品,初值为0。当生产者乙从半成品箱取出继续加工前应先测试半成品箱有无半成品,故生产者乙使用P(S2)。

  • 第6题:

    某企业生产流水线M共有两位生产者,生产者甲不断地将其工序上加工的半成品放入半成品箱,生产者乙从半成品箱取出继续加工。假设半成品箱可存放n件半成品,采用PV操作实现生产者甲和生产者乙的同步可以设置三个信号量S、S1和S2,其同步模型如下图所示。信号量S是一个互斥信号量,初值为___1__;S1、S2的初值分别为____2__。
    2、_____

    A.n、0
    B.0、n
    C.1、n
    D.n、1

    答案:A
    解析:
    由于信号量S是一个互斥信号量,表示半成品箱当前有无生产者使用,所以初值为1。信号量S1表示半成品箱容量,故其初值为n。当生产者甲不断地将其工序上加工的半成品放入半成品箱时,应该先测试半成品箱是否有空位,故生产者甲使用P(S1)。信号量S2表示半成品箱有无半成品,初值为0。当生产者乙从半成品箱取出继续加工前应先测试半成品箱有无半成品,故生产者乙使用P(S2)。

  • 第7题:

    在某嵌入式操作系统中,若P、V操作的信号量S的初值为2,当前值为-1,则表示等待信号量S的任务个数为()。

    • A、0
    • B、1
    • C、2
    • D、3

    正确答案:B

  • 第8题:

    有9个生产者,6个消费者,共享容量为8的缓冲区。在这个生产者-消费者问题中,互斥使用缓冲区的信号量mutex的初值应该为()。

    • A、1
    • B、6
    • C、8
    • D、9

    正确答案:A

  • 第9题:

    下面关于信号量S的叙述中,正确的是()

    • A、信号量S的值仅由PV操作改变
    • B、当S>O时,S表示可使用的资源数,或表示可程数
    • C、当S-O时,表示无资源可使用,或表示不允许
    • D、当SE、当S≤0时,调用P(S)的进程必须等待

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

  • 第10题:

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

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

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

  • 第11题:

    单选题
    有9个生产者,6个消费者,共享容量为8的缓冲区。在这个生产者-消费者问题中,互斥使用缓冲区的信号量mutex的初值应该为()。
    A

    1

    B

    6

    C

    8

    D

    9


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

  • 第12题:

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

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

    B

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

    C

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

    D

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

    E

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


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

  • 第13题:

    有9个生产者,6个消费者,共享容量为8的缓冲区。在这个生产者-消费者问题中,互斥使用缓冲区的信号量mutex的初值应该为( )。

    A.1

    B.6

    C.8

    D.9


    参考答案:A

  • 第14题:

    有一发送者进程和一接收者进程,其流程如下。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。

  • 第15题:

    在有N个缓冲区的生产者消费者的问题中,下列叙述中哪些是错误的?producer() { int item; while(TRUE) { item = produce_item(); P(empty); P(mutex); insert_item(item); V(mutex) V(full); } } consumer() { int item; while(TRUE) { P(full); P(mutex); item = remove_item(); V(mutex); V(mutex); consume_item(item); } }

    A.信号量empty的初值为N

    B.信号量full的初值为0

    C.信号量mutex的初值为0

    D.P(full)和P(mutex)两条语句可以颠倒顺序

    E.V(mutex)和V(mutex)两条语句可以颠倒顺序


    正确答案:CD

  • 第16题:

    某企业生产流水线M共有两位生产者,生产者甲不断地将其工序上加工的半成品放入半成品箱,生产者乙从半成品箱取出继续加工。假设半成品箱可存放n件半成品,采用PV操作实现生产者甲和生产者乙的同步可以设置三个信号量S、S1和S2,其同步模型如下图所示。

    信号量S是一个互斥信号量,初值为( );S1、S2的初值分别为(请作答此空)。

    A.n、0
    B.0、n
    C.1、n
    D.n、1

    答案:A
    解析:
    由于信号量S是一个互斥信号量,表示半成品箱当前有无生产者使用,所以初值为1。
    信号量S1表示半成品箱容量,故其初值为n。当生产者甲不断地将其工序上加工的半成品放入半成品箱时,应该先测试半成品箱是否有空位,故生产者甲使用P(S1)。信号量S2表示半成品箱有无半成品,初值为0。当生产者乙从半成品箱取出继续加工前应先测试半成品箱有无半成品,故生产者乙使用P(S2)。

  • 第17题:

    某企业生产流水线M共有两位生产者,生产者甲不断地将其工序上加工的半成品放入半成品箱,生产者乙从半成品箱取出继续加工。假设半成品箱可存放n件半成品,采用PV操作实现生产者甲和生产者乙的同步可以设置三个信号量S、S1和S2,其同步模型如下图所示。



    信号量S是一个互斥信号量,初值为( );S1的初值为( );S2的初值为(请作答此空)。

    A.0
    B.1
    C.n
    D.-1

    答案:A
    解析:
    本题主要考查PV操作实现同步与互斥。在本题中,题目告诉我们甲乙俩人互斥使用半成品箱这个共有资源,且只有一个半成品箱,那么互斥信号量的初值就应该为1。而从题目给出的同步模型图,我们可以看出,信号量S1是生产者甲的私有信号量,而S2是生产者乙的私有信号量,题目告诉我们半成品箱可存放n件半成品,那么初始状态时,S1的值应该为n,表示生产者甲最多只能生产n个半成品放入半成品箱,就需要生产者乙来协调工作。而S2的值为0,表示开始时半成品箱中没有半成品。

  • 第18题:

    某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取产品销售。假设仓库可存放n件产品。用PV操作实现他们之间的同步过程如下图所示。

    其中,信号量S是一个互斥信号量,初值为( );S1是一个( );S2是一个(请作答此空)。

    A.互斥信号量,表示仓库的容量,初值为n
    B.互斥信号量,表示仓库是否有产品,初值为0
    C.同步信号量,表示仓库的容量,初值为n
    D.同步信号量,表示仓库是否有产品,初值为0

    答案:D
    解析:
    本题考查PV操作方面的基础知识。
    初值正确答案是B。根据题意,可以通过设置三个信号量S、S1和S2,其中,S是一个互斥信号量,初值为1,因为仓库是一个互斥资源,所以将产品送仓库时需要执行进行P(S)操作,当产品放入仓库后需要执行V(S)操作。
    S1的正确答案是C。从图中可以看出,当生产一件产品送入仓库时,首先应判断仓库是否有空间存放产品,故需要执行P(S1)操作,该操作是对信号量S1减1,若≥0表示仓库有空闲,则可以将产品放入仓库。由于仓库的容量为n,最多可以存放n件产品,所以信号量S1初值应设为n。
    S2的正确答案是D。从图中可以看出,生产部将产品放入仓库后必须通知销售部,故应执行V(S2)操作。销售部要从仓库取产品,首先判断仓库是否存有产品,故应执行P(S2)操作。若仓库没有产品,则执行P(S2)操作时,信号量S2减1,S2<0则表示仓库无产品,显然S2的初值应设为0。

  • 第19题:

    对于有界缓冲区数量为n的生产者-消费者问题来说,应设置互斥信号量mutex、资源信号量full和empty,它们的初值分别应为()。

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

    正确答案:D

  • 第20题:

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

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

    正确答案:B

  • 第21题:

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

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

    正确答案:C

  • 第22题:

    单选题
    对于有界缓冲区数量为n的生产者-消费者问题来说,应设置互斥信号量mutex、资源信号量full和empty,它们的初值分别应为()。
    A

    0、1、n

    B

    1、n、0

    C

    n、1、0

    D

    1、0、n


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

  • 第23题:

    多选题
    下面关于信号量S的叙述中,正确的是()
    A

    信号量S的值仅由PV操作改变

    B

    当S>O时,S表示可使用的资源数,或表示可程数

    C

    当S-O时,表示无资源可使用,或表示不允许

    D

    当SE、当S≤0时,调用P(S)的进程必须等待


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

  • 第24题:

    单选题
    在某嵌入式操作系统中,若P、V操作的信号量S的初值为2,当前值为-1,则表示等待信号量S的任务个数为()。
    A

    0

    B

    1

    C

    2

    D

    3


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