全部科目 > 数据库系统工程师 >
2016年上半年 上午试卷 综合知识
第 27 题
知识点 信号量机制  
章/节 计算机软件基础知识  
 
 
进程P1、P2、P3、P4和P5的前趋图如下图所示:

若用PV操作控制进程P1、P2、P3、P4和P5并发执行的过程,则需要设置5个信号量S1.S2.S3.S4和S5,且信号量S1~S5的初值都等于零。下图中a和b处应分别填写(25);c和d处应分别填写(26),e和f处应分别填写(27)。
 
  A.  P(S4)和V(S4)V(S5)
 
  B.  V(S5)和P(S4)P(S5)
 
  C.  V(S3)和P(S4)P(S5)
 
  D.  P(S3)和P(S4)P(S5)
 
 




 
 
相关试题     进程间的通信 

  第26题    2016年上半年  
进程P1、P2、P3、P4和P5的前趋图如下图所示:

  第25题    2014年上半年  
假设某计算机系统中资源R的可用数为6,系统中有3个进程竞争R,且每个进程都需要i个R,该系统可能会发生死锁的最小i值是(24)。若信号量S的当前值为-2,则R的可用数和等待R的进程数分别为(25)..

  第23题    2015年上半年  
进程P1、P2、P3、P4和P5的前趋图如下所示:

 
知识点讲解
· 信号量机制
 
        信号量机制
        荷兰学者Dijkstra于1965年提出的信号量机制是一种有效的进程同步与互斥工具。目前,信号量机制有了很大的发展,主要有整型信号量、记录型信号量和信号量集机制。
               整型信号量与PV操作
               信号量是一个整型变量,根据控制对象的不同被赋予不同的值。信号量分为如下两类:
               (1)公用信号量。实现进程间的互斥,初值为1或资源的数目。
               (2)私用信号量。实现进程间的同步,初值为0或某个正整数。
               信号量S的物理意义:S≥0表示某资源的可用数,若S<0,则其绝对值表示阻塞队列中等待该资源的进程数。
               对于系统中的每个进程,其工作的正确与否不仅取决于它自身的正确性,而且与它在执行中能否与其他相关进程正确地实施同步互斥有关。PV操作是实现进程同步与互斥的常用方法。P操作和V操作是低级通信原语,在执行期间不可分割。其中,P操作表示申请一个资源,V操作表示释放一个资源。
               P操作的定义:S:=S-1。若S≥0,则执行P操作的进程继续执行;若S<0,则将该进程置为阻塞状态(因为无可用资源),并将其插入阻塞队列。
               P操作可用如下过程表示,其中,Semaphore表示所定义的变量是信号量。
               
               V操作定义:S:=S+1。若S>0,则执行V操作的进程继续执行;若S≤0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。
               V操作可用如下过程表示:
               
               利用PV操作实现进程的互斥
               令信号量mutex的初值为1,当进入临界区时执行P操作,退出临界区时执行V操作。这样,利用PV操作实现进程互斥的代码段如下:
               
               利用PV操作实现进程的同步
               进程的同步是由于进程间合作引起的相互制约的问题,要实现进程的同步可用一个信号量与消息联系起来,当信号量的值为0时表示等待的消息未产生,当信号量的值为非0时表示等待的消息已经存在。假定用信号量S表示某条消息,进程可以通过调用P操作测试消息是否到达,调用V操作通知消息已准备好。最典型的同步问题是单缓冲区的生产者和消费者的同步问题。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有