电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

3.2.4 简答题[5]


发布日期:2018/3/4
 

【例】在动态地址重定位中用到了哪些寄存器?并说明这些寄存器在重定位中起什么作用?

【分析】动态重定位必须使用一个重定位寄存器访存地址实际是等于有效地址与重定位寄存器相加之和

【解答】动态地址重定位(dynamic address relocation)是在程序执行过程中在CPU访问内存之前将要访问的程序或数据地址转换成内存地址

动态重定位是一种允许作业在运行过程中在内存中移动的技术但它必须获得硬件地址变换机构的支持即在系统中增加一个重定位寄存器用它来装入程序在内存中的起始地址程序在执行时真正访问内存的地址是有效地址与重定位寄存器中的地址相加形成的地址变换过程是在程序执行期间随着对每条指令和数据的访问自动进行的故称为动态重定位当系统对内存进行了紧凑而使若千程序从内存的某处移至另一处时不用对程序做任何修改只要用该程序在内存的新起始地址去置换原来的起始地址即可

动态重定位必须依靠硬件地址变换机构完成地址重定位机构需要一个(或多个)基地址寄存器BR和一个(或多个)程序虚拟地址寄存器VR指令或数据的内存地址MA与虚拟地址的关系为MA=(BR)+(VR)

这里(BR)与(VR)分别表示寄存器BR与VR中的内容

【例】某计算机提供位线性地址使用两级页表虚地址被分为位的页表目录索引位的页表索引和位的页偏移量页面长度是多少?在虚地址空间中最多有多少页面?(北方名校经典试题)

【分析】由题目可知该计算机的逻辑地址格式如下所示

所以页面长度为=B=KB虚地址空间中最多有×==个页面

【解答】页面的长度为KB虚地址空间中最多有个页面

【例】引用覆盖及交换技术主要用于解决存储管理中的什么问题?它门适合于什么方式的存储管理模式?(北方名校经典试题)

【分析】本题主要考察覆盖覆盖是一项共享内存的内存扩充技术而交换是先将部分程序和数据调入到指定的区域它们都是将程序和数据分成若干个块然后再调入内存这样虚拟页式存储系统是可以被应用

【解答】将程序划分为若干个功能上相对独立的程序段按照程序的逻辑结构让那些不会同时执行的程序段共享同一块内存区的内存扩充技术就是覆盖

交换是指先将内存某部分的程序或数据写入外存交换区再从外存交换区中调入指定的程序或数据到内存中来并让其执行的一种内存扩充技术

与覆盖技术相比交换不要求程序员给出程序段之间的覆盖结构而且交换主要是在进程或作业之间进行而覆盖则主要在同一个作业或同一个进程内进行另外覆盖只能覆盖那些与覆盖程序段无关的程序段它们也适合虚拟页式存储管理系统

返回《操作系统考研辅导教程》

[] [] [] [] [] [] [] []

上一篇:3.2.4 简答题[6]

下一篇:3.2.4 简答题[4]