使用信号量的主要难点在于wai对和signal两种操作可能分布于整个程序中,并且很难看出这些在信号量上的操作所产生影响的

题目
判断题
使用信号量的主要难点在于wai对和signal两种操作可能分布于整个程序中,并且很难看出这些在信号量上的操作所产生影响的整体效果.(  )
A

B

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在操作系统中,除赋初值外,对信号量仅能操作的两种原语是(40)。

A.存操作、取操作

B.读操作、写操作

C.P操作、V操作

D.输入操作、输出操作


正确答案:C
解析:1965年由荷兰学者Dijkstra提出的信号量机制,是一种卓有成效的进程同步与互斥的工具。除赋初值外,对信号量的操作原语有两种,P操作和V操作。PV操作是低级通信原语,在执行期间不可分割,P操作表示申请一个资源,V操作表示释放一个资源。

第2题:

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

A 0个

B 1个

C 2个

D 3个


参考答案C

第3题:

实现进程同步时,每一个消息与一个信号量对应,进程______可把不同的消息发送出去;

A.在同一信号量上调用P操作

B.在不同信号量上调用P操作

C.在同一信号量上调用V操作

D.在不同信号量上调用V操作


正确答案:D
解析:进程的同步是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达才被唤醒。在使用PV操作实现进程同步应注意以下两点。
  ①用一个信号量与一个消息联系起来,当信号量的值为0时表示期望的消息尚未产生,当信号量值为非0时表示期望的消息已经存在。
  ②在用PV操作实现同步时,一个信号量与一个消息量联系在一起,当有多个消息时必须定义多个信号量;测试不同的消息是否到达或发送不同消息时,应对不同的信号调用P操作或V操作。
  在利用PV操作实现进程同步时,每一个消息与一个信号量对应,进程在不同信号量上调用P操作以测试自己需要的消息是否到达,在不同信号量上调用V操作把不同的消息发送出去。

第4题:

信号量是操作系统中用于互斥和同步机制的一个共享的整数变量。信号量仅可以由初始化、唤醒(Signal)和等待(Wait)三种操作访问。

对于给定的信号量S,等待操作Wait(S)(又称P操作)定义为:

if s>0 then (39) else挂起调用的进程

唤醒操作Signal(S)(又称V操作)定义为:

if 存在等待的进程 then 唤醒这个进程else (40)

给定信号量S,可以定义一个临界区来确保其互斥,即保证在同一时刻这个临界区只能够被一个进程执行。当S被初始化为1时,代码段

(41):

{临界区}

(42):

定义了一个临界区。

这样的临界区实际上是将共享数据和对这些数据的操作一起封装起来,通过其互斥机制一次只允许一个进程进入,这种临界区通常称为(43)。

A.S:=0

B.S:=S+1

C.S:=S-1

D.S:=1

E.Signal(S+1)


正确答案:C

第5题:

在操作系统信号量机制中,对某信号量S进行P操作,使进程进入相应等待队列的条件是 ( )。

A.S>0

B.S<0

C.S=0

D.S!=0


正确答案:B
解析:当信号量S0时,表示资源已经分配完毕,此时进程执行P操作申请资源得不到满足,进入等待状态。所以,答案是B。

第6题:

下列关于信号量使用的叙述中,哪些是正确的?

A.信号量初始化后,只能实施P、V原语操作

B.在互斥信号量与同步信号量都使用的进程中,应先执行同步信号量的P操作

C.在互斥信号量与同步信号量都使用的进程中,应先执行同步信号量的V操作

D.信号量的初值不能小于0

E.互斥信号量的变化范围只能是正整数


正确答案:ABD

第7题:

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

第8题:

在信号量及P、V操作中,对信号量执行一次P操作,意味着要求

A.使用一个资源

B.分配一个资源

C.释放一个资源

D.共享一个资源


正确答案:B
解析:在信号量及P、V操作中,对信号量执行一次P操作意味着要求分配一个资源;每执行一次V操作,意味着释放一个资源。

第9题:

在操作系统的PV操作中,P操作中进行的是(18).

A.信号量减一

B.信号量加一

C.信号量不变

D.信号量变化可设定


正确答案:A
解析:RV操作是操作系统中实现进程同步与互斥的原语。P操作和V操作都是不可分割的原子操作,因此,P、V原语执行期间不允许中断发生。其中对PV操作的描述如下: P(sem)操作的作用是将信号量sem值减1,若sem的值成负数,则调用P操作的进程暂停执行,直到另一个进程对同一信号量做V操作。V(sem)操作的作用是将信号量 sem值加1,若sem的值小于等于0,则从相应队列(与sem有关的队列)中选择一个进程,唤醒它。
  一般P操作与V操作的定义如下所述。
  P操作:
  P(sem){
  sem = sem - 1;
  if(sem0) 进程进入等待状态;
  else 继续进行: }
V操作:
  V(sem){
  sero =sem + 1;
  if(sem≤0) 唤醒队列中的一个等待进程;
  else 继续进行;}

第10题:

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

更多相关问题