免费智能真题库 > 历年试卷 > 软件设计师 > 2017年下半年 软件设计师 上午试卷 综合知识
第27题      
知识点   分页存储管理   存储管理   分页   内存   进程   操作系统   页表
关键词   操作系统   存储管理   分页存储   进程   逻辑地址   逻辑页   内存   十进制   物理页      分类   存储管理       

 
操作系统采用分页存储管理方式,下图给出了进程A和进程B的页表结构。如果物理页的大小为1K字节,那么进程A中逻辑地址为1024 (十进制)用变量存放在(27)号物理内存页中。假设进程A的逻辑页4与进程B的逻辑页5要共享物理页4,那么应该在进程A页表的逻辑页4和进程B页表的逻辑页5对应的物理页处分别填(28)。
 
 
  A.  8
 
  B.  3
 
  C.  5
 
  D.  2
 
 
 

  相关试题     存储管理    更多>  
 
  第28题    2009年上半年  
   27%
某文件系统采用链式存储管理方案,磁盘块的大小为1024字节。文件Myfile.doc 由5个逻辑记录组成,每个逻辑记录的大小与磁盘块的大..
  第27题    2011年上半年  
   41%
某系统采用请求页式存储管理方案,假设某进程有6个页面,系统给该进程分配了4个存储块,其页面变换表如下表所示,表中的状态位等..
  第28题    2017年下半年  
   27%
某操作系统采用分页存储管理方式,下图给出了进程A和进程B的页表结构。如果物理页的大小为1K字节,那么进程A中逻辑地址为1024 (十..
 


   知识点讲解    
   · 分页存储管理    · 存储管理    · 分页    · 内存    · 进程    · 操作系统    · 页表
 
       分页存储管理
               纯分页存储管理
               1)分页原理
               系统将进程的地址空间划分成若干个大小相等的区域,称为页。同样地,将主存空间划分成与页相同大小的若干物理块,称为块或页框。在为进程分配主存时,将进程中若干页分别装入多个不相邻接的块中。
               2)地址结构
               分页系统的地址结构如下图所示,它由两部分组成:前一部分为页号P;后一部分为偏移量W,即页内地址。图中的地址长度为32位,其中0~11位为页内地址(每页的大小为4KB),12~31位为页号,所以允许地址空间的大小最多为1MB个页。
               
               分页系统的地址结构
               3)页表
               在将进程的每一页离散地分配到主存的多个物理块中后,系统应能保证在主存中找到每个页面所对应的物理块。为此,系统为每个进程建立了一张页面映射表,简称页表。每个页在页表中占一个表项,记录该页在主存中对应的物理块号。进程在执行时,通过查找页表就可以找到每页所对应的物理块号。可见,页表的作用是实现从页号到物理块号的地址映射。
               地址变换机构的基本任务是利用页表把用户程序中的逻辑地址变换成主存中的物理地址,实际上就是将用户程序中的页号变换成主存中的物理块号。为实现地址变换功能,在系统中设置页表寄存器,用来存放页表的地址和页表的长度。
               快表
               在地址映射过程中,共需两次访问主存。第一次访问页表,得到数据的物理地址;第二次才是存取数据。为了提高访问主存的速度,可以采取两种方法:一种是在地址映射机制中增加一组高速寄存器保存页表,这需要大量的硬件开销,经济上不可行;另一种方法是在地址映射机制中增加一个小容量的联想寄存器(相联存储器),它由一组高速寄存器组成,称为快表。快表用来存放当前访问最频繁的少数活动页的页号及相关信息。
               在快表中,除了逻辑页号、物理页号对应外,还增加了几位:特征位表示该行是否为空;访问位表示该页是否被访问过,这是为了淘汰那些用得很少甚至不用的页面而设置的。
               快表只存放当前进程最活跃的少数几页。当某一用户程序需要存取数据时,根据该数据所在逻辑页号在快表中找出对应的物理页号,然后与页内地址拼接成物理地址;如果在快表中没有相应的逻辑页号,则地址映射仍然通过主存中的页表进行,得到物理地址后需将该物理块号填到快表的空闲单元中。若无空闲单元,则根据淘汰算法淘汰某一行,再填入新得到的页号。实际上查找快表和查找主存页表是并行进行的,一旦在快表中找到相符的逻辑页号就停止查找主存页表。
 
       存储管理
        UNIX早期的版本采用"对换技术"扩充主存容量,进程可以被换出到对换区,也可以从对换区换进到主存。高版本的UNIX主存管理采用分页式虚拟存储机制,对换技术作为一种辅助手段,并采用二次机会页面替换算法。
 
       分页
        Word是通过分页符决定文档分页的位置,也就是说,分页符用来表示上一页结束、下一页开始的位置。分页有自动分页和人工分页两种,自动分页是指文档中每个页面结尾处Word自动插入的分页符,该分页符也称为软分页符;人工分页是指通过Word提供的插入分页符命令,在指定位置上强制插入的分页符,该分页符也称为硬分页符。
        在页面视图、打印预览以及在打印出的文档中,分页符后的文本出现在新页中。在普通视图中,自动分页符显示为横穿页面的单点划线;人工分页符则显示为标有“分页符”字样的单点划线,如下图(a)所示。
        
        设置分页
        插入人工分页符的方法是单击新页的起始位置,选择“插入”→“分隔符”命令,打开“分隔符”对话框,如上图(b)所示。选择“分页符”单选按钮,单击“确定”按钮关闭对话框。
        删除分页符的方法是在普通视图下,先将光标移到分页符的单点划线中,按Delete键。
 
       内存
        除了CPU,内存也是影响系统性能的最常见的瓶颈之一。看系统内存是否够用的一个重要参考就是分页文件的数目,分页文件是硬盘上的真实文件,当操作系统缺少物理内存时,它就会把内存中的数据挪到分页文件中去,如果单位时间内此类文件使用频繁(每秒个数大于5),那就应该考虑增加内存。具体考察内存的性能的参数包括内存利用率、物理内存和虚拟内存的大小。
 
       进程
        简单而言,一个进程就是一个正在运行的程序。一般来说,一个进程至少应该包括以下几个方面的内容。
        .相应的程序:进程既然是一个正在运行的程序,当然需要有相应程序的代码和数据。
        .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中,即可运行。这样就实现了各个进程的轮流运行。
 
       操作系统
        编写嵌入式软件有两种选择:一是自己编写内核;二是使用现成的操作系统。如果嵌入式软件只需要完成一项非常小的工作,例如在电动玩具、空调中,就不需要一个功能完整的操作系统。但如果系统的规模较大、功能较复杂,那么最好还是使用一个现成的操作系统。可用于嵌入式系统软件开发的操作系统有很多,但关键是如何选择一个适合开发项目的操作系统,可以从以下几点进行考虑:
        (1)操作系统提供的开发工具。有些实时操作系统只支持该系统供应商的开发工具,因此,还必须从操作系统供应商处获得编译器、调试器等;而有的操作系统应用广泛,且有第三方工具可用,因此选择的余地比较大。
        (2)操作系统向硬件接口移植的难度。操作系统到硬件的移植是一个重要的问题,是关系到整个系统能否按期完工的一个关键因素。因此,要选择那些可移植性程度高的操作系统,以避免因移植带来的种种困难。
        (3)操作系统的内存要求,有些操作系统对内存有较大要求。
        (4)操作系统的可剪裁性、实时性能等。
 
       页表
        当进程的多个页面离散地分配到主存的多个物理块时,系统应能保证在主存中找到进程要访问的页面所对应的物理块。为此,系统为每个进程建立了一张页面映射表,简称页表(如下图所示)。每个页在页表中占一个表项,记录该页在主存中对应的物理块号。
        
        页式存储管理的地址映射


 题号导航      2017年下半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况 
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 /
 
↓第27题