免费智能真题库 > 历年试卷 > 软件设计师 > 2013年上半年 软件设计师 上午试卷 综合知识
  第26题      
  知识点:   基本概念   死锁
  章/节:   计算机软件知识       

 
进程资源图如图(a)和(b)所示,其中:图(a)中(25);图(b)中(26)。
 
 
  A.  P1、P2、P3都是非阻塞节点,该图可以化简,是非死锁的
 
  B.  P1、P2、P3都是阻塞节点,该图不可以化简,是死锁的
 
  C.  P2是阻塞节点,P1、P3是非阻塞节点,该图可以化简,是非死锁的
 
  D.  P1、P2是非阻塞节点,P3是阻塞节点,该图不可以化简,是死锁的。
 
 
 

 
  第25题    2021年下半年  
   65%
进程P1、 P2、P3、P4、P5和P6的前趋图如下所示。用PV操作控制这6个进程之间同步与互斥的程序如下,程序中的空①和空②处应分别为..
  第26题    2018年下半年  
   27%
进程P1、P2、P3、P4和P5的前趋图如下所示:
  第23题    2022年下半年  
   45%
在计算机系统中,若P1进程正在运行,操作系统强行撒下P1进程所占用的CPU,让具有更高优先级的进程P2运行,这种调度方式称为()。..
   知识点讲解    
   · 基本概念    · 死锁
 
       基本概念
               程序与进程
               1)程序
               前趋图是一个有向无循环图,图由节点和节点间的有向边组成,节点代表各程序段的操作,而节点间的有向边表示两程序段操作之间存在的前趋关系("→")。两程序段PiPj的前趋关系表示成PiPj,其中PiPj的前趋,PjPi的后继,其含义是Pi执行完毕才能由Pj执行。
               (1)程序顺序执行时的特征。
               .顺序性。程序中的各程序段严格按照规定的顺序执行。
               .封闭性。指程序运行时系统内各资源只受该程序控制,执行结果不受外界因素影响。
               .可再现性。只要程序执行环境和初始条件相同,运行结果就相同。
               (2)程序并发执行的特征。
               .失去了程序的封闭性。
               .程序和机器执行程序的活动不再一一对应。
               .并发程序间无相互制约性。
               2)进程
               进程通常是由程序、数据及进程控制块(PCB)组成的。进程的程序部分描述了进程需要完成的功能,进程数据集合部分包括程序执行时所需的数据及工作区。
               进程控制块是进程的描述信息和控制信息,是进程动态特性的集中反映,也是进程存在的唯一标志。进程控制块包含的主要内容有进程标志符、状态、位置信息、控制信息、队列指针、优先级、现场保护区及其他。PCB是操作系统中最主要的数据结构之一,既是进程存在的标志和调度的依据,又是进程可以被打断并能恢复运行的基础。操作系统通过PCB管理进程,一般PCB是常驻主存的,尤其是调度信息必须常驻主存。
               进程的状态及其转换
               1)三态模型
               三态模型中最基本的状态有3种,即运行、就绪和阻塞。
               .运行。进程正在处理机上运行。对于单处理机系统,处于运行状态的进程只有一个。
               .就绪。进程具备运行条件,但尚未运行。
               .阻塞。进程因发生某事件而暂停执行时的状态。
               在进程运行过程中,由于自身进展情况及外界环境的变化,这3种基本状态可以在一定的条件下相互转换。进程的状态及转换如下图所示。
               
               进程的状态及其转换
               2)五态模型
               五态模型在三态模型的基础上增加了新建态和终止态。新建态是一个进程刚刚被创建还没有被提交,并等待系统完成创建进程的所有必要信息状态。终止态是指当一个进程已经正常结束或异常结束,操作系统进行善后处理并且释放主存的状态。
               3)具有挂起状态的进程状态
               由于进程的不断创建,系统资源特别是主存资源已不能满足所有进程的运行要求,这时就必须将某些进程挂起,放到磁盘对换区,暂时不参加调度,以平衡系统负载。具有挂起状态的进程状态包括活跃就绪、静止就绪、活跃阻塞、静止阻塞。
 
       死锁
        死锁是指两个以上的进程互相都因要求对方已经占有的资源,导致无法运行下去的现象。死锁是系统的一种出错状态,不仅浪费大量的系统资源,甚至会导致整个系统的崩溃,所以死锁是应该尽量预防和避免的。
               产生死锁的原因
               产生死锁的原因是资源竞争及进程推进顺序非法。
               产生死锁的4个必要条件
               产生死锁的4个必要条件如下。
               (1)互斥条件。进程对其要求的资源进行排他性控制,即一次只允许一个进程使用。
               (2)请求保持条件。零星地请求资源,即已获得部分资源后又请求资源被堵塞。
               (3)不可剥夺条件。进程已获得资源在未使用完之前不能被剥夺,只能在使用完时由自己释放。
               (4)环路条件。发生死锁时,在进程资源有向图中必构成环路,其中每个进程占有下一个进程申请的一个或多个资源。
               进程资源有向图
               进程资源有向图由方框、圆圈和有向边3部分组成。其中,方框表示资源,圆圈表示进程。
               请求资源:○→□,箭头由进程指向资源。
               分配资源:○←□,箭头由资源指向进程。
               死锁的处理
               下面介绍死锁的处理。
               (1)死锁的预防。根据产生死锁的4个必要条件,只要使其中之一不能成立,死锁就不会出现。为此,可以采取下列预防措施,即预先静态分配法和资源有序分配法。
               (2)死锁的避免。最著名的死锁避免算法是Dijkstra提出的银行家算法,其思想是:对于进程发出的每一个系统可以满足的资源请求命令加以检测,如果发现分配资源后,系统可能进入不安全状态,则不予分配;若分配资源后系统仍处于安全状态,则分配资源。与死锁预防策略相比提高了资源的利用率,但增加了系统的开销。
               (3)死锁的检测。这种方法对资源的分配如不加限制,即允许死锁发生。但系统定时地运行一个"死锁检测"程序,判断系统是否发生死锁,若检测到有死锁,则设法加以解除。
               (4)死锁的解除。检测到死锁发生后,常采用资源剥夺法和撤销进程法解除死锁。
   题号导航      2013年上半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第26题    在手机中做本题