全部科目 > 程序员 >
2019年下半年 上午试卷 综合知识
第 24 题
知识点 分页存储管理   地址变换   进程  
章/节 软件基础知识  
 
 
某计算机系统页面大小为4K,进程P的页面变换表如下表所示。若P中某数据的逻辑地址为十六进制2C18H,则该地址的页号和页内地址分别为(24);经过地址变换后,其物理地址应为十六进制(25)。

 
  A.  2和518H
 
  B.  2和C18H
 
  C.  5和518H
 
  D.  5和C18H
 
 




 
 
相关试题     存储管理 

  第22题    2014年上半年  
在计算机系统中,构成虚拟存储器(22)。

  第27题    2011年下半年  
某段式存储管理系统中的地址结构如下图所示,若系统以字节编址,则该系统允许的最大段长为(26) KB;(27)是错误的段号。

  第26题    2011年下半年  
某段式存储管理系统中的地址结构如下图所示,若系统以字节编址,则该系统允许的最大段长为(26) KB;(27)是错误的段号。

 
知识点讲解
· 分页存储管理
· 地址变换
· 进程
 
        分页存储管理
               纯分页存储管理
               分页原理:将一个进程的地址空间划分为若干大小相等的区域,称为页。相应地,将内存空间划分成与页相同大小的若干物理块,称为块或页框。
               地址机构:分页系统的地址机构如下图所示,由两部分组成,即页号P和偏移量W(即页内地址)。图中的地址长度为32位,其中0~11位为页内地址(每页大小为4KB),12~31位为页号,所以允许的地址空间大小最多为1M个页。
               
               分页系统的地址机构
               系统将用户程序的逻辑空间按照同样大小也划分成若干页面,称为逻辑页面,有时也简称为页。程序的各个逻辑页面从0开始依次编号,称作逻辑页号或相对页号。每个逻辑页面内也从0开始编址,称为页内地址。用户程序的逻辑地址由逻辑页号和页内地址两部分组成。
               页表:系统为每个进程建立一张页面映射表,简称页表。页表用于记录用户程序逻辑页面与内存物理页面之间的对应关系。页表的作用是实现从页号到物理块号的地址映射。
               地址变换机构:其任务是利用页表把逻辑地址变换成内存中的物理地址。
               快表
               在地址映射过程中,共需两次访问内存。第一次是访问页表,得到数据的物理地址,第二次才是存取数据。显然,这样就增加了访问的时间。在地址映射机制中增加一个小容量的联想寄存器(相联存储器),它由高速寄存器组成一张快表,用来存放当前访问最频繁的少数活动页的页号及相关信息。
               快表只存放当前进程最活跃的少数几页,随着进程的推进,快表内容动态更新。当某一用户程序需要存取数据时,根据该数据所在逻辑页号在快表中找出对应的物理页号,然后拼接页内地址,以形成物理地址;如果在快表中没有相应的逻辑页号,则地址映射仍然通过内存中的页表进行。
 
        地址变换
        由进程中的目标代码、数据等的虚拟地址组成的虚拟空间称为虚拟存储器,虚拟存储器允许用户用比内存容量大得多的地址空间来编程,以运行比内存实际容量大得多的程序。用户编程所用的地址称为逻辑地址(虚地址),而实际的内存地址则称为物理地址(实地址)。每次访问内存时都要进行逻辑地址到物理地址的转换,这种转换是由硬件完成的,而内存和外存间的信息动态调度是硬件和操作系统两者配合完成的。
        (1)静态重定位:静态重定位是在虚空间程序执行之前由装配程序完成地址影射工作。静态重定位的优点是不需要硬件的支持。缺点是无法实现虚拟存储器,必须占用连续的内存空间,且难以做到程序和数据的共享。
        (2)动态重定位:动态重定位是在程序执行过程中,在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中,即可运行。这样就实现了各个进程的轮流运行。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有