niusouti.com

某系统有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区取产品消费。用PV操作实现进程间的同步模型如图2-3所示。假设信号量S1的初值为1,信号量S2的初值为0,那么,a、b处应当写别填(1),c、d处分别填(2)。A.V(S2)、P(S1)B.P(S1)、V(S2)C.P(S2)、V(S1)D.V(S1)、P(S2)

题目

某系统有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区取产品消费。用PV操作实现进程间的同步模型如图2-3所示。假设信号量S1的初值为1,信号量S2的初值为0,那么,a、b处应当写别填(1),c、d处分别填(2)。

A.V(S2)、P(S1)

B.P(S1)、V(S2)

C.P(S2)、V(S1)

D.V(S1)、P(S2)


相似考题
更多“ 某系统有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区取产品消费。用PV操作实现进程间的同步模型如图2-3所示。假设信号量S1的初值为1,信号量S2的初值为0,那么,a、b处应当写别填(1)”相关问题
  • 第1题:

    进程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。

  • 第2题:

    ● 某系统中有一个缓冲区,进程 P1 不断地生产产品送入缓冲区,进程 P2 不断地从冲区中取出产品消费,用P、V 操作实现进程间的同步模型如下图所示。假设信号量S1初值为1,信号量S2的初值为0,那么a、 b处应分别填 (26) , c、 d处分别填 (27) 。

    (26)

    A. V(S2)、P(S1)

    B. P(S1)、V(S2)

    C. P(S2)、V(S1)

    D. V(S1)、P(S2)

    (27)

    A. V(S2)、P(S1)

    B. P(S1)、V(S2)

    C. P(S2)、V(S1)

    D. V(S1)、P(S2)


    正确答案:B,C

  • 第3题:

    某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取产品消费。假设该缓存区只能容纳一个产品。进程P1与P2的同步模型如下图所示:

    为此,应设信号量S1的初值为(18),信号量S2的初值为(19)。

    A.-2

    B.-1

    C.0

    D.1


    正确答案:D
    解析:由于系统中只有一个缓冲区,需要设置一个信号量S1,且初值为1,表示缓冲区空,可以将产品送入缓冲区。为了实现P1与P2进程间的同步问题,设置另一个信号量S2,且初值为0,表示缓冲区有产品。这样,当生产者进程P1生产产品送入缓冲区时需要判断缓冲区是否为空,需要执行P(S1),产品放入缓冲区后需要执行V(S2),通知消费者缓冲区已经有产品。而消费者进程P2在取产品消费之前必须判断缓冲区是否有产品,需要执行P(S2),取走产品后缓冲区空了,需要执行V(S1),释放缓冲区。

  • 第4题:

    某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区取产品消费。假设该缓冲区只能容纳一个产品。进程P1与P2的同步模型如图2-2所示。

    为此,应设信号量S1的初值为(1),信号量S2的初值为(2)。

    A.-2

    B.-1

    C.0

    D.1


    正确答案:D

  • 第5题:

    假设某企业有一个仓库。该企业的生产部员工不断地将生产的产品送入仓库,销售部员工不断地从仓库中取产品。假设该仓库能容纳n件产品。采用PV操作实现生产和销售的同步模型如下图所示,该模型设置了3个信号量S、S1和S2,其中信号量S的初值为1,信号量S1的初值为( ),信号量S2的初值为( )。

    A.-1B.0C.1D.NA.-1B.0C.1D.N


    正确答案:D,B

  • 第6题:

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

  • 第7题:

    某系统中有一个缓冲区,进程p1不断地生产产品送入缓冲区,进程p2不断地从缓冲区中取出产品消费,用p、v操作实现进程间的同步模型如下图所示,假设信号量S1的初值为1,信号量S2的初值为0,那么a、b、c处应分别填()

    A.V(S2)、p(S1)、v(s1)
    B.V(S2)、p(S2)、v(s1)
    C.V(S2)、p(S1)、v(s2)
    D.V(S2)、p(S2)、v(s2)

    答案:B
    解析:
    PV操作成对出现,题干中的P(S1)对应C,而a与b围绕缓冲区是一对,并且a为释放操作,因此选择B。

  • 第8题:

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

  • 第9题:

    某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取出产品销售。假设仓库可存放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

  • 第10题:

    某企业生产流水线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,表示开始时半成品箱中没有半成品。

  • 第11题:

    某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取产品销售。假设仓库可存放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。

  • 第12题:

    若有一个仓库,可以存放P1、P2两种产品,但是每次只能存放一种产品。要求: ①w=P2的数量-P2的数量 ②-iw<k(i、k为正整数) 若用PV操作实现P1和P2产品的入库过程,至少需要__(1)__个同步信号量及__(2)__个互斥信号量,其中,同步信号量的初值分别为__(3)__,互斥信号量的初值分别为__(4)__。 空白(1)处应选择()

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

    正确答案:C

  • 第13题:

    进程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


    正确答案:B
    由于这里只有两个进程PA和PB,所以只需要用两个同步信号量,就可以让PA和PB同步和互斥,若有多个进程对管道操作,则需要增加互斥信号量。

  • 第14题:

    某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取出产品消费,用P、V操作实现进程间的同步模型如下图所示。假设信号量S1的初值为1,信号量S2的初值为0,那么a、b处应分别填(26),c、d处分别填(27)。

    A.V(S2)、P(S1)

    B.P(S1)、V(S2)

    C.P(S2)、V(S1)

    D.V(S1)、P(S2)


    正确答案:B

  • 第15题:

    进程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个进程的工作流程。

  • 第16题:

    有m个进程(P0,P1,…,Pm-1)通过n个缓冲区(B0,B1,…Bn-1)向1个进程(Q)发送数据包,每个数据包大小与缓冲区一样。要求:进程Q接收数据包的次序与发送次序一样。为保证发送进程与接收进程正确地并行工作,需要设置(23)。

    A.一个信号量,初值为0

    B.一个信号量,初值为1

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

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


    正确答案:D
    解析:本题考查进程同步与互斥方面的知识以及信号量的使用技能。原则上,为保证进程并行工作的正确性,对每一个同步或互斥条件应该设置一个信号量。首先,必须在缓冲区有内容时,接收进程才能取,也就是说,m个缓冲区中至少有1个是有数据包时,进程Q才能取,亦即送后再取。这是一个同步条件,需要一个信号量S3,刚开始时,所有缓冲区都没有数据包,接收进程不能取数据,所以该信号量的初值应该为0。其次,当m个缓冲区装满数据包时,没有空的缓冲区可以再容纳送来的数据包,必须等待接收进程Q取走一个数据包,发送进程Pi才能向它送入数据包,亦即取后再送。这又是一个同步条件,需要一个信号量S1,由于有n个缓冲区;发送进程可以在接收进程一个未取的情况下连续送n个数据包,所以它的初值应该为n。第三,为了使m个发送进程有序地向缓冲区放入数据包,不能出现两个进程同时向一个缓冲区放数据包的现象,应该将缓冲区编号,需要用一个变量代表将要放入数据的缓冲区号,每放入一个数据包,该变量加1并用n取模(保证该变量从0到n-1周而复始地变化)。这个变量是所有发送进程共享并进行修改的,因此发送进程必须互斥地访问它,所以还要是一个信号量S2,保证互斥关系,初值为1。这样,正确的答案应该是D。这里,设用于指向当前存放发送数据的缓冲区号的变量为t,初值为0;设指向将要从它那里取数据的缓冲区号的变量为f,初值也为0。下图表示发送进程与接收进程利用一组缓冲区通信的流程。

  • 第17题:

    进程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。

  • 第18题:

    假设某企业有一个仓库。该企业的生产部员工不断地将生产的产品送入仓库,销售部员工不断地从仓库中取产品。假设该仓库能容纳n件产品。采用PV操作实现生产和销售的同步模型如下图所示,该模型设置了3个信号量S、S1和S2,其中信号量S的初值为1,信号量S1的初值为( ),信号量S2的初值为(请作答此空)。

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

    答案:B
    解析:
    本题考察操作系统中进程通信的基础内容可参考《程序员教程(第四版)》第53页,例2-3。对于信号量S1表示仓库中空闲单元数(大于0表示可以将产品放入),初值为n。S2表示缓冲区的产品数,初值为0。

  • 第19题:

    某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取出产品消费,用P、V操作实现进程间的同步模型如下图所示。假设信号量S1的初值为1,信号量S2的初值为0,那么a、b、C处应分别填( )

    A.V(S2)、P(S1)、V(S1)
    B.V(S2)、P(S2)、V(S1)
    C.P(S2)、V(S1)、V(S2)
    D.P(S2)、V(S2)、V(S1)

    答案:B
    解析:

  • 第20题:

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

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

    答案:A
    解析:
    本题主要考查PV操作实现同步与互斥。根据题意,S是一个互斥信号量,初值为1,因为仓库是一个互斥资源,所以将产品送仓库时需要执行进行P (S)操作,当产品放入仓库后需要执行V (S)操作。故正确答案为A

  • 第21题:

    某企业生产流水线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)。

  • 第22题:

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

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

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

    答案:B
    解析:
    本题考查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。

  • 第23题:

    若有一个仓库,可以存放P1、P2两种产品,但是每次只能存放一种产品。要求: ①w=P2的数量-P2的数量 ②-iw<k(i、k为正整数) 若用PV操作实现P1和P2产品的入库过程,至少需要__(1)__个同步信号量及__(2)__个互斥信号量,其中,同步信号量的初值分别为__(3)__,互斥信号量的初值分别为__(4)__。 空白(2)处应选择()

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

    正确答案:B