全部科目 > 软件设计师 >
2019年下半年 上午试卷 综合知识
第 25 题
知识点 基本概念   进程间的通信  
关键词 开发方法   敏捷开发   开发  
章/节 计算机软件知识  
 
 
进程P1、P2、P3、P4和P5的前趋图如下所示:

用PV操作控制这5个进程的同步与互斥的程序如下,程序中的空①和空②处应分别为(23),空③和空④处应分别为(24),空⑤和空⑥处应分别为(25)。

 
  A.  P(S6)和P(S5)V(S6)
 
  B.  V(S5)和V(S5)V(S6)
 
  C.  P(S6)和P(S5)P(S6)
 
  D.  V(S6)和P(S5)P(S6)
 
 




 
 
相关试题     进程管理 

  第25题    2011年上半年  
系统中有R类资源m个,现有n个进程互斥使用。若每个进程对R资源的最大需求为w,那么当m、n、w分别取下表中的值时,对于表中的①?⑥种情况,(25)可能会发生死锁。若将这些情况的m分别加上(26),则..

  第23题    2020年下半年  
假设系统中有三个进程P1、P2和P3,两种资源R1、R2。如果进程资源图如图①和图②所示,那么( )。

  第26题    2009年下半年  
进程PI、P2、P3和P4的前趋图如下:

 
知识点讲解
· 基本概念
· 进程间的通信
 
        基本概念
               程序与进程
               1)程序
               前趋图是一个有向无循环图,图由节点和节点间的有向边组成,节点代表各程序段的操作,而节点间的有向边表示两程序段操作之间存在的前趋关系("→")。两程序段PiPj的前趋关系表示成PiPj,其中PiPj的前趋,PjPi的后继,其含义是Pi执行完毕才能由Pj执行。
               (1)程序顺序执行时的特征。
               .顺序性。程序中的各程序段严格按照规定的顺序执行。
               .封闭性。指程序运行时系统内各资源只受该程序控制,执行结果不受外界因素影响。
               .可再现性。只要程序执行环境和初始条件相同,运行结果就相同。
               (2)程序并发执行的特征。
               .失去了程序的封闭性。
               .程序和机器执行程序的活动不再一一对应。
               .并发程序间无相互制约性。
               2)进程
               进程通常是由程序、数据及进程控制块(PCB)组成的。进程的程序部分描述了进程需要完成的功能,进程数据集合部分包括程序执行时所需的数据及工作区。
               进程控制块是进程的描述信息和控制信息,是进程动态特性的集中反映,也是进程存在的唯一标志。进程控制块包含的主要内容有进程标志符、状态、位置信息、控制信息、队列指针、优先级、现场保护区及其他。PCB是操作系统中最主要的数据结构之一,既是进程存在的标志和调度的依据,又是进程可以被打断并能恢复运行的基础。操作系统通过PCB管理进程,一般PCB是常驻主存的,尤其是调度信息必须常驻主存。
               进程的状态及其转换
               1)三态模型
               三态模型中最基本的状态有3种,即运行、就绪和阻塞。
               .运行。进程正在处理机上运行。对于单处理机系统,处于运行状态的进程只有一个。
               .就绪。进程具备运行条件,但尚未运行。
               .阻塞。进程因发生某事件而暂停执行时的状态。
               在进程运行过程中,由于自身进展情况及外界环境的变化,这3种基本状态可以在一定的条件下相互转换。进程的状态及转换如下图所示。
               
               进程的状态及其转换
               2)五态模型
               五态模型在三态模型的基础上增加了新建态和终止态。新建态是一个进程刚刚被创建还没有被提交,并等待系统完成创建进程的所有必要信息状态。终止态是指当一个进程已经正常结束或异常结束,操作系统进行善后处理并且释放主存的状态。
               3)具有挂起状态的进程状态
               由于进程的不断创建,系统资源特别是主存资源已不能满足所有进程的运行要求,这时就必须将某些进程挂起,放到磁盘对换区,暂时不参加调度,以平衡系统负载。具有挂起状态的进程状态包括活跃就绪、静止就绪、活跃阻塞、静止阻塞。
 
        进程间的通信
               同步与互斥
               同步是合作进程间的直接制约问题,互斥是申请临界资源进程间的间接制约问题。
               1)同步
               相互合作的进程需要在某些确定点上协调它们的工作,当一个进程到达这些点后,除非另一个进程已经完成某些操作;否则就不得不停下来等待这些操作结束。这就是进程间的同步。
               2)互斥
               在多道程序系统中,各进程可以共享各类资源,但有些资源一次只能供一个进程使用,称为临界资源。这就产生了进程间的间接制约问题——互斥。
               3)临界区管理的原则
               临界区是进程中对临界资源实施操作的那段程序。互斥临界区管理的原则是:有空即进,无空则登;有限等待,让权等待。
               信号量与P、V操作
               信号量机制主要有整型信号量、记录性信号量、信号量集机制。
               1)整型信号量与P、V操作
               信号量是一个整型变量,根据控制对象的不同赋予不同的值。信号量可分为以下两类。
               (1)公用信号量。实现进程间的互斥,初值为1或资源的数目。
               (2)私用信号量。实现进程间的同步,初值为0或某个正整数。
               信号量S的物理意义为:S≥0,表示某资源的可用数;S<0,其绝对值表示阻塞队列中等待该资源的进程数。P、V操作是实现进程同步与互斥的常用方法。
               P操作定义:S:=S-1,若S≥0,则执行P操作的进程继续执行;否则,若S<0,则置该进程为阻塞状态,并将其插入阻塞队列。
               V操作定义:S:=S+1,若S>0,则执行V操作的进程继续执行;否则,若S≤0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,执行V操作的进程继续执行。
               2)利用P、V操作实现进程的互斥
               令信号量的初值为1,当进程进入临界区时执行P操作,退出临界区时执行V操作。则进入临界区的代码段如下。
               
               3)利用P、V操作实现进程的同步
               进程的同步是由于进程间合作而引起的相互制约问题。要实现进程的同步,可用一个信号量与消息联系起来。当信号量的值为0时表示消息未产生,当信号量的值为非0时表示希望的消息已经存在。假定用信号量S表示某条消息,进程可以通过调用P操作测试消息是否达到,调用V操作通知消息已经准备好。
               高级通信原语
               P、V操作是用来协调进程间关系的,编程较困难、效率低,通信对用户不透明,生产者每次只能向缓冲区放一个消息,消费者只能从缓冲区中取一个消息。所以交换的信息量多时要引入高级通信原语。进程高级通信的类型主要有以下几种。
               (1)共享存储系统。相互通信的进程共享某些数据结构或存储区,以实现进程之间的通信。
               (2)消息传递系统。进程间的数据交换以消息为单位,程序员直接利用系统提供的一组通信命令(原语)来实现通信,如Send(A)、Receive(A)。
               (3)管道通信。管道是指用于连接两个进程之间的一个打开的共享文件(pipe文件)。向管道(共享文件)提供输入的发送进程(即写进程),以字符流的形式将大量的数据送入管道;而接收进程可从管道的另一端接收大量的数据。由于通信时采用管道,所以叫管道通信。



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

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