免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2014年上半年 数据库系统工程师 上午试卷 综合知识
  第26题      
  知识点:   分页存储管理   进程
  关键词:   计算机系统   进程   逻辑地址   十六进制   物理地址        章/节:   计算机软件基础知识       

 
某计算机系统页面大小为4K,若进程的页面变换表如下所示,逻辑地址为十六进制1D16H。该地址经过变换后,其物理地址应为十六进制()。
 
 
  A.  1024H
 
  B.  3D16H
 
  C.  4D16H
 
  D.  6D16H
 
 
 

 
  第27题    2011年上半年  
   55%
某系统釆用请求页式存储管理方案,假设某进程有6个页面,系统给该进程分配了4个存储块,其页面变换表如下表所示,表中的状态位等..
  第25题    2010年上半年  
   57%
某进程有5个页面,页号为0〜4,页面变换表如下所示。表中状态位等于0和1分别表示页面“不在内存”和“在内存..
  第27题    2013年上半年  
   60%
假设内存管理采用可变式分区分配方案,系统中有五个进程P1〜P5,且某一时刻内存使用情况如下图所示(图中空白处表示未使用分..
   知识点讲解    
   · 分页存储管理    · 进程
 
       分页存储管理
        尽管分区管理方案是解决多道程序共享主存的可行方案,但是该方案的主要问题是用户程序必须装入连续的地址空间中,若无满足用户要求的连续空间,需要进行分区靠拢操作,这是以耗费系统时间为代价的。为此,引入了分页存储管理方案。
               纯分页存储管理
                      分页原理
                      将一个进程的地址空间划分成若干个大小相等的区域,称为页。相应地,将主存空间划分成与页相同大小的若干个物理块,称为块或页框。在为进程分配主存时,将进程中若干页分别装入多个不相邻接的块中。
                      地址结构
                      分页系统的地址结构由两部分组成:前一部分为页号P;后一部分为偏移量W,即页内地址。图中的地址长度为32位,其中,0~11位为页内地址(每页的大小为4KB),12~31位为页号,所以允许地址空间的大小最多为1MB个页。
                      页表
                      当进程的多个页面离散地分配到主存的多个物理块时,系统应能保证在主存中找到进程要访问的页面所对应的物理块。为此,系统为每个进程建立了一张页面映射表,简称页表(如下图所示)。每个页在页表中占一个表项,记录该页在主存中对应的物理块号。
                      
                      页式存储管理的地址映射
               快表
               从地址映射的过程可以发现,页式存储管理至少需要两次访问主存。例如,第一次是访问页表,得到的是数据的物理地址;第二次是存取数据;若该数据是间接地址,还需要再进行地址变换,再存取数据,显然访问主存的次数大于2。为了提高访问主存的速度,可以在地址映射机构中增加一组高速寄存器,用来保存页表。这种方法需要大量的硬件开销,在经济上是不可行的。另一种方法是在地址映射机构中增加一个小容量的联想存储器,联想存储器由一组高速存储器组成,称之为快表,用来保存当前访问频率高的少数活动页的页号及相关信息。
               两级页表机制
               两级页表机制的基本方法是将页表进行分页,每个页面的大小与主存物理块的大小相同,并为它们进行编号,可以离散地将各个页面分别存放在不同的物理块中。为此需要建立一张页表,称为外层页表(页表目录),即第一级是页目录表,其中的每个表目是存放某个页表的物理地址;第二级是页表,其中的每个表目所存放的是页的物理块号。
               两级页表的逻辑地址结构和两级页表的地址变换机构如下图所示。
               
               两级页表的地址变换机构
 
       进程
        简单而言,一个进程就是一个正在运行的程序。一般来说,一个进程至少应该包括以下几个方面的内容。
        .相应的程序:进程既然是一个正在运行的程序,当然需要有相应程序的代码和数据。
        .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中,即可运行。这样就实现了各个进程的轮流运行。
   题号导航      2014年上半年 数据库系统工程师 上午试卷 综合知识   本试卷我的完整做题情况  
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题    在手机中做本题