免费智能真题库 > 历年试卷 > 软件设计师 > 2020年下半年 软件设计师 上午试卷 综合知识
  第23题      
  知识点:   基本概念   进程   进程资源图
  章/节:   计算机软件知识       

 
假设系统中有三个进程P1、P2和P3,两种资源R1、R2。如果进程资源图如图①和图②所示,那么( )。
 
 
  A.  图①和图②都可化简
 
  B.  图①和图②都不可化简
 
  C.  图①可化简,图②不可化简
 
  D.  图①不可化简,图②可化简
 
 
 

 
  第26题    2009年下半年  
   32%
进程PI、P2、P3和P4的前趋图如下:
  第23题    2014年下半年  
   42%
假设系统采用PV操作实现进程同步与互斥。若n个进程共享两台打印机,那么信号量S的取值范围为()。
  第23题    2021年下半年  
   61%
在单处理机计算机系统中有1台打印机、1台扫描仪,系统采用先来先服务调度算法。假设系统中有进程P1、P2、P3、P4,其中P1为运行状态..
   知识点讲解    
   · 基本概念    · 进程    · 进程资源图
 
       基本概念
               程序与进程
               1)程序
               前趋图是一个有向无循环图,图由节点和节点间的有向边组成,节点代表各程序段的操作,而节点间的有向边表示两程序段操作之间存在的前趋关系("→")。两程序段PiPj的前趋关系表示成PiPj,其中PiPj的前趋,PjPi的后继,其含义是Pi执行完毕才能由Pj执行。
               (1)程序顺序执行时的特征。
               .顺序性。程序中的各程序段严格按照规定的顺序执行。
               .封闭性。指程序运行时系统内各资源只受该程序控制,执行结果不受外界因素影响。
               .可再现性。只要程序执行环境和初始条件相同,运行结果就相同。
               (2)程序并发执行的特征。
               .失去了程序的封闭性。
               .程序和机器执行程序的活动不再一一对应。
               .并发程序间无相互制约性。
               2)进程
               进程通常是由程序、数据及进程控制块(PCB)组成的。进程的程序部分描述了进程需要完成的功能,进程数据集合部分包括程序执行时所需的数据及工作区。
               进程控制块是进程的描述信息和控制信息,是进程动态特性的集中反映,也是进程存在的唯一标志。进程控制块包含的主要内容有进程标志符、状态、位置信息、控制信息、队列指针、优先级、现场保护区及其他。PCB是操作系统中最主要的数据结构之一,既是进程存在的标志和调度的依据,又是进程可以被打断并能恢复运行的基础。操作系统通过PCB管理进程,一般PCB是常驻主存的,尤其是调度信息必须常驻主存。
               进程的状态及其转换
               1)三态模型
               三态模型中最基本的状态有3种,即运行、就绪和阻塞。
               .运行。进程正在处理机上运行。对于单处理机系统,处于运行状态的进程只有一个。
               .就绪。进程具备运行条件,但尚未运行。
               .阻塞。进程因发生某事件而暂停执行时的状态。
               在进程运行过程中,由于自身进展情况及外界环境的变化,这3种基本状态可以在一定的条件下相互转换。进程的状态及转换如下图所示。
               
               进程的状态及其转换
               2)五态模型
               五态模型在三态模型的基础上增加了新建态和终止态。新建态是一个进程刚刚被创建还没有被提交,并等待系统完成创建进程的所有必要信息状态。终止态是指当一个进程已经正常结束或异常结束,操作系统进行善后处理并且释放主存的状态。
               3)具有挂起状态的进程状态
               由于进程的不断创建,系统资源特别是主存资源已不能满足所有进程的运行要求,这时就必须将某些进程挂起,放到磁盘对换区,暂时不参加调度,以平衡系统负载。具有挂起状态的进程状态包括活跃就绪、静止就绪、活跃阻塞、静止阻塞。
 
       进程
        简单而言,一个进程就是一个正在运行的程序。一般来说,一个进程至少应该包括以下几个方面的内容。
        .相应的程序:进程既然是一个正在运行的程序,当然需要有相应程序的代码和数据。
        .CPU上下文:指程序在运行时,CPU中各种寄存器的当前值,包括:程序计数器,用于记录将要取出的指令的地址;程序状态字,用于记录处理器的运行状态信息;通用寄存器,用于存放数据或地址;段寄存器,用于存放程序中各个段的地址;栈指针寄存器,用于记录栈顶的当前位置。
        .一组系统资源:包括操作系统用来管理进程的数据结构、进程的内存地址空间、进程正在使用的文件等。
        进程有动态性、独立性和并发行三个特性。
        (1)动态性。进程是一个正在运行的程序,而程序的运行状态是在不断地变化的。例如,当一个程序在运行的时候,每执行完一条指令,PC寄存器的值就会增加,指向下一条即将执行的指令。而CPU中用来存放数据和地址的那些通用寄存器,它们的值肯定也不断地变化。另外,堆和栈的内容也在不断地变化,每当发生一次函数调用时,就会在栈中分配一块空间,用来存放此次函数调用的参数和局部变量。而当函数调用结束后,这块栈空间就会被释放掉。
        (2)独立性。一个进程是一个独立的实体,是计算机系统资源的使用单位。每个进程都有自己的运行上下文和内部状态,在它运行的时候独立于其他的进程。
        (3)并发性。从宏观上来看,在系统中同时有多个进程存在,它们相互独立地运行。
        下图表示四个进程A、B、C、D在系统中并发地运行。从中可以看出,虽然从宏观上来说,这四个进程都是在系统中运行,但从微观上来看,在任何一个特定的时刻,只有一个进程在CPU上运行。从时间上来看,开始是进程A在运行,然后是进程B在运行,然后是进程C和进程D。接下来又轮到了进程A去运行。因此,在单CPU的情形下,所谓的并发性,指的是宏观上并发运行,而微观上还是顺序运行,各个进程轮流去使用CPU资源。
        
        四个进程在并发运行
        在具体实现上,以CPU中的程序计数器PC为例,真正物理上的PC寄存器只有一个。当四个进程在轮流执行时,PC取值的运动轨迹是先在进程A内部流动,然后再到进程B的内部流动,再到进程C和D。从进程的独立性角度来说,每个进程都有“自己”独立的PC寄存器,即逻辑上的PC寄存器,它们的取值相互独立、互不影响。所谓的逻辑PC,其实就是一个内存变量。例如,在上图中,当进程A要执行的时候,就把A的逻辑PC的值拷贝到物理PC中,然后开始运行。当轮到B运行的时候,先把物理PC的当前值保存到A的逻辑PC中,然后再把B的逻辑PC的值装入到物理PC中,即可运行。这样就实现了各个进程的轮流运行。
 
       进程资源图
        进程资源有向图由方框、圆圈和有向边三部分组成。其中方框表示资源,圆圈表示进程。请求资源:〇→□,箭头由进程指向资源;分配资源:〇←□,箭头由资源指向进程。
        例如,系统中有进程P1P2P3,资源R1R2R3。假设系统中R1R2R3的资源数分别为1、1和2,其中P1占用了1台R1,又申请1台R3P2占用了1台R2,又申请1台R1P3占用了2台R3,又申请1台R2。对于这种情况可用进程资源图来描述,如下图所示。
        
        进程资源有向图
   题号导航      2020年下半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第23题    在手机中做本题