免费智能真题库 > 历年试卷 > 系统架构设计师 > 2018年下半年 系统架构设计师 上午试卷 综合知识
第2题      
知识点   三态模型   进程管理   进程控制块   进程
关键词   计算机系统   进程控制块   三态模型   进程      分类   操作系统       

 
某计算机系统中的进程管理采用三态模型,那么下图所示的PCB(进程控制块)的组织方式采用(2),图中(3)。
 
 
  A.  顺序方式
 
  B.  链接方式
 
  C.  索引方式
 
  D.  Hash
 
 
 

  相关试题     操作系统    更多>  
 
  第1题    2015年下半年  
   40%
某航空公司机票销售系统有n个售票点,该系统为每个售票点创建一个进程Pi(i=1,2,…,n)管理机票销售。假设T..
  第2题    2011年下半年  
   33%
进程P1、P2、P3、P4和P5的前趋图如下:
  第3题    2010年下半年  
   55%
某虚拟存储系统采用最近最少使用(LRU)页面淘汰算法,假定系统为每个作业分配4个页面的主存空间,其中一个页面用来存放程序。现有..
 


   知识点讲解    
   · 三态模型    · 进程管理    · 进程控制块    · 进程
 
       三态模型
        按照进程在执行过程中的不同状况,至少可以定义三种不同的进程状态:
        (1)运行态:占有处理器正在运行。
        (2)就绪态:具备运行条件,等待系统分配处理器以便运行。
        (3)等待态(阻塞态):不具备运行条件,正在等待某个事件的完成。
        一个进程在创建后将处于就绪状态。每个进程在执行过程中,任一时刻当且仅当处于上述三种状态之一。同时,在一个进程执行过程中,它的状态将会发生改变。如下图所示为进程的状态转换。
        
        进程三态模型及其状态转换
        运行状态的进程将由于出现等待事件而进入等待状态,当等待事件结束之后等待状态的进程将进入就绪状态,而处理器的调度策略又会引起运行状态和就绪状态之间的切换。引起进程状态转换的具体原因如下:
        (1)运行态→等待态:等待使用资源,如等待外设传输;等待人工干预。
        (2)等待态→就绪态:资源得到满足,如外设传输结束;人工干预完成。
        (3)运行态→就绪态:运行时间片到;出现有更高优先权进程。
        (4)就绪态→运行态:CPU空闲时选择一个就绪进程。
 
       进程管理
        UNIX中的进程由进程控制块(PCB)、正文段和数据段组成。PCB由常驻主存的基本进程控制块proc和非常驻主存的进程扩充控制块user两部分组成。正文段可供多个进程共享。系统设置一正文表text,每个正文段都占据一个表项,用来指明正文段在主存和磁盘中的位置。数据段是进程执行时用到的数据段,若进程执行时的程序是非共享的,则也构成数据段的一部分。
        传统的UNIX进程控制子系统有进程同步、进程通信、存储管理和进程调度几大功能。进程调度采用动态优先数调度算法,进程的优先数随着进程的执行情况而变化。UNIX系统中优先数的确定方法有两种,即设置方法和计算方法。
 
       进程控制块
        进程控制块是操作系统中最为重要的数据结构,每个进程控制块包含了操作系统管理所需的所有进程信息,进程控制块的集合事实上定义了一个操作系统的当前状态。当系统创建一个进程时,就为它建立一个PCB,当进程执行结束便回收它占用的PCB。操作系统是根据PCB来对并发执行的进程进行控制和管理的,借助于进程控制块进程才能被调度执行。
        一般说,进程控制块包含三类信息:
        (1)标识信息。用于唯一地标识一个进程,常常分为由用户使用的外部标识符和被系统使用的内部标识号两种。
        (2)现场信息。用于保留一个进程在运行时存放在处理器现场中的各种信息,任何一个进程在让出处理器时必须把此时的处理器现场信息保存到进程控制块中,而当该进程重新恢复运行时也应恢复处理器现场。常用的现场信息包括通用寄存器的内容、控制寄存器(如PSW寄存器)的内容、用户堆栈指针、系统堆栈指针等。
        (3)控制信息。用于管理和调度一个进程。常用的控制信息包括:进程的调度相关信息,进程组成信息、进程间通信相关信息、进程在二级存储器内的地址、CPU资源的占用和使用信息、进程特权信息、资源清单。
 
       进程
        简单而言,一个进程就是一个正在运行的程序。一般来说,一个进程至少应该包括以下几个方面的内容。
        .相应的程序:进程既然是一个正在运行的程序,当然需要有相应程序的代码和数据。
        .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中,即可运行。这样就实现了各个进程的轮流运行。


 题号导航      2018年下半年 系统架构设计师 上午试卷 综合知识   本试卷我的完整做题情况 
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 /
 
↓第2题