第4章存储管理习题及答案
- 格式:doc
- 大小:40.00 KB
- 文档页数:5
第4章存储管理“练习与思考”解答1.基本概念和术语逻辑地址、物理地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、碎片、碎片紧缩、虚拟存储器、快表、页面抖动用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为相对地址或逻辑地址。
内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为绝对地址或物理地址。
由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。
由内存中一系列存储单元所限定的地址范围称作内存空间,也称物理空间或绝对空间。
程序和数据装入内存时,需对目标程序中的地址进行修改。
这种把逻辑地址转变为内存物理地址的过程称作重定位。
静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。
动态重定位是在程序执行期间,每次访问内存之前进行重定位。
这种变换是靠硬件地址转换机构实现的。
内存中这种容量太小、无法被利用的小分区称作“碎片”或“零头”。
为解决碎片问题,移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区留在另一端。
这种技术称为紧缩(或叫拼凑)。
虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。
为了解决在内存中放置页表带来存取速度下降的矛盾,可以使用专用的、高速小容量的联想存储器,也称作快表。
若采用的置换算法不合适,可能出现这样的现象:刚被换出的页,很快又被访问,为把它调入而换出另一页,之后又访问刚被换出的页,……如此频繁地更换页面,以致系统的大部分时间花费在页面的调度和传输上。
此时,系统好像很忙,但实际效率却很低。
这种现象称为“抖动”。
2.基本原理和技术(1)存储器一般分为哪些层次?各有何特性?存储器一般分为寄存器、高速缓存、内存、磁盘和磁带。
CPU内部寄存器,其速度与CPU一样快,但它的成本高,容量小。
第四章存储器管理第一部分教材习题(P159)15、在具有快表的段页式存储管理方式中,如何实现地址变换?答:在段页式系统中,为了便于实现地址变换,须配置一个段表寄存器,其中存放段表始址和段长TL。
进行地址变换时,首先利用段号S,将它与段长TL进行比较。
若S<TL,表示未越界,利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得到该段的页表始址,并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再利用块号b和页内地址来构成物理地址。
在段页式系统中,为了获得一条指令或数据,须三次访问内存。
第一次访问内存中的段表,从中取得页表始址;第二次访问内存中的页表,从中取出该页所在的物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;第三次访问才是真正从第二次访问所得的地址中,取出指令或数据。
显然,这使访问内存的次数增加了近两倍。
为了提高执行速度,在地址变换机构中增设一个高速缓冲寄存器。
每次访问它时,都须同时利用段号和页号去检索高速缓存,若找到匹配的表项,便可从中得到相应页的物理块号,用来与页内地址一起形成物理地址;若未找到匹配表项,则仍须再三次访问内存。
19、虚拟存储器有哪些特征?其中最本质的特征是什么?答:虚拟存储器有以下特征:多次性:一个作业被分成多次调入内存运行,亦即在作业运行时没有必要将其全部装入,只需将当前要运行的那部分程序和数据装入内存即可;以后每当要运行到尚未调入的那部分程序时,再将它调入。
多次性是虚拟存储器最重要的特征,任何其他的存储器管理方式都不具有这一特征。
因此,认为虚拟存储器是具有多次性特征的存储器系统。
对换性:允许在作业的运行过程中进行换进、换出,也即,在进程运行期间,允许将那些暂不使用的程序和数据,从内存调至外存的对换区(换出),待以后需要时再将它们从外存调至内存(换进);甚至还允许将暂不运行的进程调至外存,待它们重又具备运行条件时再调入内存。
第四章存储器管理1.选择题1.存储保护的工作通常由实现。
A.软件B.硬件C.文件D.硬件和软件配合2.段页式存储管理中,访问快表失败时,每访问一条指令或存取一个操作数都要次访问主存。
A.1 B.2 C.3 D.43.在虚拟存储系统中,若进程在内存中占3块(开始时为空)采用先进先出页面淘汰算法,当执行访问页号序列为1、2、3、4、1、2、5、1、2、3、4、5、6时,将产生次缺页中断。
A.7 B.8 C.9 D.104.采用段页式存储管理,在CPU中应设置寄存器。
A.段表和页表控制B.段表控制C.页表控制D.界地址5.采用段页式存储管理时,内存地址分成段号、段内页号和页内地址三部分,地址。
A.但仍是线性B.但仍是二维C.故是三维D.从而成为四维6.用户程序的逻辑地址可以不连续的存储管理方式是。
A.固定分区B.可变分区C.页式D.段页7.在可变分区分配方案中,为了实现主存的空间分配,采用进行管理。
A.页表B.段表C.段表+页表D.分区分配表+空闲区表8.动态重定位是在完成的。
A.作业执行前集中一次B.作业执行过程中集中一次C.作业执行过程中D.作业执行过程中由用户9.在以下的存储管理方案中,能扩充主存容量的是。
A.固定式分区分配B.可变式分区分配C.页式存储管理D.分页虚拟存储管理10.在可变分区分配方案中,在空闲区表中以空闲区长度按递减顺序排列适合于________算法。
A.最坏适应算法B.最先适应算法C.最优适应算法D.首次循环适应算法11.在页式虚拟存储管理中,为实现地址变换,应建立。
A.空闲区表B.分区分配表C.页表D.段表12.在下述存储管理方案中,管理方式要求作业的逻辑地址与占有主存的存储区域都是连续的。
A.段页式B.页式C.段式D.可变分区13.将主存空闲区按地址顺序从小到大登记在空闲区表中,每次分配时总是顺序查找空闲区表,此种分配算法称为分配算法。
A.最先适应B.最优适应C.最坏适应D.随机适应14.页式存储管理中,每次从主存中取指令或取操作数,当读快表失败时,要读次主存。
第四章存储管理1. C存储管理支持多道程序设计,算法简单,但存储碎片多。
A. 段式B. 页式C. 固定分区D. 段页式2.虚拟存储技术是 B 。
A. 补充内存物理空间的技术B. 补充相对地址空间的技术C. 扩充外存空间的技术D. 扩充输入输出缓冲区的技术3.虚拟内存的容量只受 D 的限制。
A. 物理内存的大小B. 磁盘空间的大小C. 数据存放的实际地址D. 计算机地址位数4.动态页式管理中的 C 是:当内存中没有空闲页时,如何将已占据的页释放。
A. 调入策略B. 地址变换C. 替换策略D. 调度算法5.多重分区管理要求对每一个作业都分配 B 的内存单元。
A. 地址连续B. 若干地址不连续C. 若干连续的帧D. 若干不连续的帧6.段页式管理每取一数据,要访问 C 次内存。
A. 1B. 2C. 3D. 47.分段管理提供 B 维的地址结构。
A. 1B. 2C. 3D. 48.系统抖动是指 B。
A. 使用计算机时,屏幕闪烁的现象B. 刚被调出内存的页又立刻被调入所形成的频繁调入调出的现象C. 系统盘不干净,操作系统不稳定的现象D. 由于内存分配不当,造成内存不够的现象9.在 A中,不可能产生系统抖动现象。
A. 静态分区管理B. 请求分页式管理C. 段式存储管理D. 段页式存储管理10.在分段管理中 A 。
A. 以段为单元分配,每段是一个连续存储区B. 段与段之间必定不连续C. 段与段之间必定连续D. 每段是等长的11.请求分页式管理常用的替换策略之一有 A 。
A. LRUB. BFC. SCBFD. FPF12.可由CPU调用执行的程序所对应的地址空间为 D 。
A. 名称空间B. 虚拟地址空间C. 相对地址空间D. 物理地址空间13. C 存储管理方式提供二维地址结构。
A. 固定分区B. 分页C. 分段D. 物理地址空间14.当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为B 。
A. 源程序B. 目标程序C. 可执行程序D. 非执行程序15.目录程序指令的顺序都以0作为一个参考地址,这些地址被称为 A 。
第4章存储器管理4.1 典型例题解析【例1】某系统采用动态分区分配方式管理内存,内存空间为640K,高端40K用来存放操作系统。
在内存分配时,系统优先使用空闲区低端的空间。
对下列的请求序列:作业1申请130K、作业2申请60K、作业3申请100K、作业2释放60K、作业4申请200K、作业3释放100K、作业1释放130K、作业5申请140K、作业6申请60K、作业7申请50K、作业6释放60K,请分别画图表示出使用首次适应算法和最佳适应算法进行内存分配和回收后内存的实际使用情况。
答:使用首次适应算法和最佳适应算法进行上述内存的分配和回收后,内存的实际使用情况分别如图(a)和(b)所示。
(a)(b)【例2】对一个将页表存放在内存中的分页系统:(1)如访问内存需要0.2μs,有效访问时间为多少?(2)如果加一快表,且假定在快表中找到页表项的机率高达90%,则有效访问时间又是多少(假定查快表需花的时间为0)?答:(1)有效访问时间为:2×0.2=0.4μs(2)有效访问时间为:0.9×0.2+(1—0.9)×2×0.2=0.22 ps。
【例3】某系统采用页式存储管理策略,拥有逻辑空间32页,每页2K,拥有物理空间1M。
(1)写出逻辑地址的格式。
(2)若不考虑访问权限等,进程的页表有多少项?每项至少有多少位?(3)如果物理空间减少一半,页表结构应相应作怎样的改变?答:(1)该系统拥有逻辑空间32页,故逻辑地址中页号必须用5位来描述:而每页为2K,因此,页内地址必须用11位来描述,这样可得到它的逻辑地址格式如下:等,则页表项中只需给出页所对应的物理块块号,1M的物理空间可分成29个内存块,故每个页表项至少有9位(3)如果物理空间减少一半,则页表中页表项数仍不变,但每项的长度可减少1位。
【例4】已知某分页系统,主存容量为64K,页面大小为1K,对一个4页大的作业,其0、l、2、3页分别被分配到主存的2、4、6、7块中。
一、单项选择题1.在存储管理方案中,可与覆盖技术配合。
A. 页式管理B.段式管理C.段页式管理D.可变分区管理2.在存储管理中,采用覆盖与交换技术的目的是。
A. 节省主存空间B.物理上扩充主存容量C. 提高CPU效率D.实现主存共享3.动态重定位技术依赖于。
A. 重定位装入程序B.重定位寄存器C. 地址机构D.目标程序4. 虚拟存储器的最大容量。
A. 为内外存容量之和B.由计算机的地址结构决定C.是任意的 D. 由作业的地址空间决定5.在虚拟存储系统中,若进程在内存中占3块(开始时为空),采用先进先出页面淘汰算法,当执行访问页号序列为1、2、3、4、l、2、5、1、2、3、4、5、6时,将产生次缺页中断。
A.7 B.8 C.9 D.106.很好地解决了“零头”问题的存储管理方法是。
A. 页式存储管理B.段式存储管理C. 多重分区管理D.可变式分区管理7.系统“抖动”现象的发生是由引起的。
A. 置换算法选择不当B.交换的信息量过大C. 内存容量不足D. 请求页式管理方案8.分区管理中采用“最佳适应”分配算法时,宜把空闲区按次序登记在空闲区表中。
A. 长度递增B.长度递减C. 地址递增D. 地址递减9.在固定分区分配中,每个分区的大小是。
A. 相同B.随作业长度变化C. 可以不同但预先固定D.可以不同但根据作业长度固定10.实现虚拟存储器的目的是。
A. 实现存储保护D.实现程序浮动C.扩充辅存容量D.扩充主存容量11.采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是。
A.224B.216C.28D.23212.作业在执行中发生了缺页中断,经操作系统处理后,应让其执行指令。
A. 被中断的前一条B.被中断的C.被中断的后一条D.启动时的第一条13.把作业地址空间中使用的逻辑地址变成内存中物理地址的过程称为。
A. 重定位B.物理化C.逻辑化D.加载14.首次适应算法的空闲区是。
第4章存储器管理-选择题参考答案一、选择题1.【2011统考】在虚拟内存管理中,地址变换机构将逻辑地址变换为物理地址,形成该逻辑地址的阶段是()A.编辑B.编译C.链接D.装载2.下面关于存储管理的叙述中,正确的是()A.存储保护的目的是限制内存的分配B.在内存为M、有N个用户的分时系统中,每个用户占M/N的内存空间C.在虚拟内存系统中,只要磁盘空间无限大,作业就能拥有任意大的编址空间D.实现虚拟内存管理必须有相应硬件的支持3.在使用交换技术时,若一个进程正在(),则不能交换出主存。
A.创建B.I/O操作C.处于临界段D.死锁4.在存储管理中,采用覆盖与交换技术的目的是()A.节省主存空间B.物理上扩充主存容量C.提高CPU效率D.实现主存共享5.【2009统考】分区分配内存管理方式的主要保护措施是()A.界地址保护B.程序代码保护C.数据保护D.保护6.【2010统考】某基于动态分区存储管理的计算机,其主存容量为.55MB(初始为空),采用最佳适配算法,分配和释放的顺序为;分配15MB,分配30MB,释放15MB,分配8MB,分配6MB,此时主存中最大空闲分区的大小是()A.7MBB.9MBC.10MBD.15MB7.段页式存储管理中,地址映射表是()A.每个进程一张段表,两张页表B.每个进程的每个段一张段表,一张页表C.每个进程一张段表,每个段一张页表D.每个进程一张页表,每个段一张段表8.内存保护需要由()完成,以保证进程空间不被非法访问A.操作系统B.硬件机构C.操作系统和硬件机构合作D.操作系统或者硬件机构独立完成9.存储管理方案中,()可采用覆盖技术A.单一连续存储管理B.可变分区存储管理C.段式存储管理D.段页式存储管理10.在可变分区分配方案中,某一进程完成后,系统回收其主存空间并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减1的情况是()A.无上邻空闲区也无下邻空闲区B.有上邻空闲区但无下邻空闲区C.有下邻空闲区但无上邻空闲区D.有上邻空闲区也有下邻空闲区 11.设内存的分配情况如图所示。
第4章存储器管理4.4自测题4.4.1基本题一.判断题(正确的在括号中记√,错误的记×)1.为了减少内部碎片,页应偏小为好。
( )2.为了减少缺页中断率,页应该小一些。
( )3.为提高对换空间的利用率,一般对其使用离散的分配方式。
( )4.用户程序中出错处理部分不必常驻内存。
( )5.使用预分页的原因是每个进程在最初运行时需要一定数量的页面。
( )6.可变分区法可以比较有效地消除外部碎片,但不能消除内部碎片。
()7.分页存储管理方案易于实现用户使用内存空间的动态扩充。
( )8.LRU页面调度算法总是选择在主存驻留时间最长的页面被淘汰。
( )9.最佳适应算法比首次适应算法具有更好的内存利用率。
( )10.请求分段存储管理中,分段的尺寸要受主存空间的限制。
( )二.单项选择题,在每小题的四个备选答案中选出一个正确答案,并将其代码写在题干后面的括号内。
不选、错选或多选者该题无分。
1.在可变式分区管理中,最佳适应算法是将空白区在空白区表中按______次序排列。
A.地址递增B.地址递减C.容量递增D.容量递减2.动态重定位技术依赖于_______.A.重定位装入程序B.重定位寄存器C.地址机构D.目标程序3.请求分页存储管理方案的主要特点是__________。
A.不要求将作业装入内存B.不要求将作业全部装入内存C.不要求使用联想存储器D.不要求缺页中断的处理4.在存储管理方案中,___________可与覆盖技术配合。
A.页式管理B.段式管理C.段页式管理D.可变分区管理5.一个计算机系统虚存的最大容量是由__________决定的。
A.主存的容量B.辅存的容量C.主存容量+辅存容量D.计算机的地址机构6.在存储管理中,采用覆盖与交换技术的目的是_________。
A.节省主存空间B.物理上扩充主存容量C.提高CPU效率D.实现主存共享7.在可变式分区分配方案中,只需要进行一次比较就可以判定是否满足作业对主存空间要求的是______。
1、某虚拟存储器的用户空间共有32个页面,每页1KB,主存16KB. 假定某时刻为用户的第0,1,2,3页分别分配的物理块号为5,10,4,7,试将虚拟地址0A5C和093C变换为物理地址.a.将0A5C变换为2进制为: 0000,1010,0101,1100,由于页面大小为1KB约为2的10次方,所以0A5C的页号为2,对应的物理块号为:4,所以虚拟地址0A5C的物理地址为125C; b.将093C变换为2进制为: 0000,1001,0011,1100,页号也为2,对应的物理块号也为4,此时虚拟地址093C的物理地址为113C.2、在一个请求分页系统中,采用LRU页面置换算法时,假如一个作业的页面走向为4,3,2,1,4,3,5,4,3,2,1,5,当分配给该作业的物理块数M分别为3和4时,试计算访问过程中所发生的缺页次数和缺页率?比较所得结果?答案:a.当分配给该作业的物理块数M为3时,所发生的缺页率为7,缺页率为: 7/12=0.583;b. 当分配给该作业的物理块数M为4时,所发生的缺页率为4,缺页率为: 4/12=0.333.3、什么是抖动? 产生抖动的原因是什么?a. 抖动(Thrashing)就是指当内存中已无空闲空间而又发生缺页中断时,需要从内存中调出一页程序或数据送磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入,因此需再选一页调出,而此时被换出的页很快又要被访问,因而又需将它调入,如此频繁更换页面,以致花费大量的时间,我们称这种现象为"抖动";b. 产生抖动的原因是由于CPU的利用率和多道程序度的对立统一矛盾关系引起的,为了提高CPU利用率,可提高多道程序度,但单纯提高多道程序度又会造成缺页率的急剧上升,导致CPU的利用率下降,而系统的调度程序又会为了提高CPU利用率而继续提高多道程序度,形成恶性循环,我们称这时的进程是处于"抖动"状态.【例1】可变分区存储管理系统中,若采用最佳适应分配算法,“空闲区表”中的空闲区可按(A )顺序排列A、长度递增B、长度递减C、地址递增D、地址递减分析:最佳适应算法要求每次都分配给用户进程能够满足其要求的空闲区中最小的空闲区,所以为了提高算法效率,我们把所有的空闲区,按其大小以递增的顺序形成一空闲分区链这样,第一个找到的满足要求的空闲区,必然是符合要求中最小的所以本题的答案是A【例2】虚拟存储技术是(B )A、扩充主存物理空间技术B、扩充主存逻辑地址空间技术C、扩充外存空间的技术D、扩充输入/输出缓冲区技术分析:所谓虚拟存储器,是指仅把作业的一部分装入内存便可运行作业的存储器系统具体地说,所谓虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统实际上,用户所看到的大容量只是一种感觉,是虚的,故称之为虚拟存储器虚拟存储技术是一种性能非常优越的存储器管理技术、故被广泛地应用于大、中、小型机器和微型机中所以本题的答案是B【例3】很好地解决了“零头”问题的存储管理方法是(A )A、分页存储管理方式B、分段存储管理方式C、多重分区管理D、可变式分区管理分析:“零头”也就是内存碎片,是指内存中无法被利用的小空闲区在有些内存管理方式下,系统运行一段时间后,内存的碎片会占据相当的数量的空间分段存储管理方式、多重分区管理、可变式分区管理都会因为内存分配回收产生“零头”,而分页存储管理方式,按事先划分好的内存块为单位分配回收内存,所以不会产生“零头”所以本题的答案是A【例4】系统“抖动”现象的发生是由(B )引起的A、交换的信息量过大B、置换算法选择不当C、内存容量不足D、请求分页管理方案分析:“抖动”现象是指刚被换出的页很快又要被访问,为此,又要换出其他页,而该页又很快被访问,如此频繁地置换页面,以致大部分时间都花在页面置换上交换的信息量过大,内存容量不足都不是引起系统“抖动”现象的原因,而选择的置换算法不当才是引起“抖动”现象的根本原因,例如,先进先出算法就可能产生“抖动”现象所以本题的答案是B【例5】虚拟存储管理系统的基础是程序的(C)理论A、全局性B、虚拟性C、局部性D、动态性分析:虚拟存储技术是基于程序的局部性原理的,程序的局部性原理体现在两个方面:时间局部性和空间局部性时间局部性是指一条指令被执行后,那么它可能很快会再次被执行,空间局部性是指若某一存储单元被访问,那么与该存储单元相邻的单元可能也会很快被访问所以本题的答案是C【例6】简述页和段的区别答:分页和分段有许多相似之处,但是在概念上两者完全不通,主要表现在:①页是信息的物理单位,分页是为了系统管理内存的方便而进行的,故对用户而言,分页是不可见的,是透明的;段是信息的逻辑单位,分段是作业逻辑上的要求,对用户而言,分段是可见的②页的大小是固定的,由系统决定;段的大小是不固定的,由用户作业本身决定③从用户角度看,分页的地址空间是一维的,而段的地址空间是二维的【例7】内存保护是否可以完全由软件来实现?为什么?答:内存保护的主要任务是确保每道程序都只在自己的内存内运行这就要求系统能对每条指令所访问的地址进行越界检查若发生越界,系统应能立即发现,并发出越界中断请求,以终止该指令若每次检查完全用软件来实现,则每执行一条指令,都要增加若干条指令去执行越界的检查功能,这无疑将降低程序的执行速度,因此,越界检查通常由硬件实现,并使指令的执行与越界检查功能并行执行,从而不使程序的运行速度降低当然,对发现有越界后的处理需要与软件配合来完成因此说内存保护功能是由硬件和软件共同完成的【例8】用可变分区方式管理主存时,假定主存中按地址顺序依次有五个空闲区,空闲区的大小为32K,10K,5K,228K,100K现有五个作业J1,J2,J3,J4和J5它们各需主存11K,10K,108K,28K,115K若采用首次适应分配算法能把这五个作业按J1~J5的次序全部装入主存吗?你认为按怎样的次序装入这五个作业可时主存空间的利用率最高?答:最先适应分配算法能把这五个作业按J1~J5的次序全部装入主存时,J1、J2分割第一个空闲区,剩11K;J3、J4分割第四个空闲区,剩92K;J5无法装入,所以用最先适应分配算法不能把这五个作业按J1~J5的次序全部装入主存如果先装入J3,装入第四个空闲区,剩余空间120K;再装入J5,装入第四个空闲区,剩余空间5K;再装入J4,装入第一个空闲区,剩余4K;再装入J1,J1装入第五个空闲区,剩余空间104K;再装入J2,装入第二个空闲区,这样效率最好【例9】简述什么是覆盖?什么是交换?覆盖和交换的区别是什么?答:所谓覆盖,是指同一主存区可以被不同的程序段重复使用通常一个作业由若干个功能上相互独立的程序段组成,作业在一次运行时,也只用到其中的几段,利用这样一个事实,我们就可以让那些不会同时执行的程序段共用同一个主存区所谓交换,就是系统根据需要把主存中暂时不运行的某个(或某些)作业部分或全部移到外存,而把外存中的某个(或某些)作业移到相应的主存区,并使其投入运行覆盖技术要求程序员必须把一个程序划分成不同的程序段,并规定好它们的执行和覆盖顺序,操作系统根据程序员提供的覆盖结构来完成程序之间的覆盖覆盖主要在同一个作业或同一个进程内进行;而交换主要是在进程或作业之间进行另外,覆盖只能覆盖那些与覆盖程序段无关的程序段【例10】对一个将页表放在内存中的分页系统:(1)如果访问内存需要0.2μs,有效访问时间为多少?(2)如果增加一个快表,且假定在快表中找到页表项的几率高达90%,则有效访问时间又是多少(假定查找快报需花的时间为0)?分析:每次访问数据时,若不使用快表,则需要两次访问内存,即先从内存的页表中读出页对应的块号,然后再根据形成的物理地址去存取数据;使用快表时,若能从快表中直接找到对应的页表项,则可立即形成物理地址去访问相应的数据,否则,仍需两次访问内存答:(1)有效访问时间为:2×0.2=0.4μs(2)有效访问时间为:0.9×0.2+(1-0.9)×2×0.2=0.22μs【例11】某系统采用分页存储管理方式,拥有逻辑空间32页,每页2K,拥有物理空间1M(1)写出逻辑地址的格式(2)若不考虑访问权限等,进程的页表项有多少项?每项至少有多少位?(3)如果物理空间减少一半,页表结构应相应作怎样的改变?答:该系统拥有逻辑空间32页,故逻辑地址中页号必须用5位来描述;而每页为2k,因此,页内地址必须用11位来描述,这样可得到它的逻辑地址格式如下:15 11 10 0(2)每个进程最多有32个页面,因此,进程的页表项最多为32项;若不考虑访问权限等,则页表项中只需给出页所对应的物理块号,1M的物理空间可分成29个物理块,故每个页表项至少有9位(3)如果物理空间减少一半,则页表中页表项数仍不变,但每项的长度可减少1位【例12】在分页存储管理系统中,逻辑地址的长度为16位,页面大小为4096字节,现有一逻辑地址为2F6AH,且第0、1、2页依次存放在物理块5、10、11中,问相应的物理地址是多少?分析:在分页存储管理系统中进行地址转换时,地址变换机构将自动把逻辑地址转化为页号和页内地址,如果页号不小于页表长度,则产生越界中断;否则便以页号为索引去检索页表,从中得到对应的块号,并把块号和页内位移分别送入物理地址寄存器的块号和块内位移字段中,形成物理地址答:由题目所给条件可知,分页存储管理系统的逻辑地址结构为: 15 12 11 0页号页内位移逻辑地址2F6AH的二进制表示如下: 0010 111101101010 页号页内位移由此可知逻辑地址2F6AH的页号为2,小于页表长度3,没有越界,该页存放在第11个物理块中,用十六进制表示块号为B,所以物理地址为BF6AH【例13】什么是虚拟存储器?如何实现分页虚拟存储管理系统?答:所谓虚拟存储器,是指仅把作业的一部分装入内存便可运行作业的存储器系统具体地说,所谓虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统要实现分页虚拟存储管理系统,首先要扩充页表,扩充后的页表是在原来页表的基础上发展起来的,包括以下内容:页号、物理块号、状态位、访问位、修改位、外存地址其中状态位表示该页是否已经调入内存;访问位表示该页在内存期间是否被访问过;修改位表示该页在内存中是否被修改过,若未被修改,则在置换该页时就不需将该页写回到外存,以减少系统的开销和启动磁盘的次数;若已被修改,则在置换该页时必须把该页写回到外存,以保证外存中所保留的始终是最新副本;外存地址用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用另外,还要使用两项关键技术:请求调页技术和页面置换技术【例14】在分页虚拟存储管理系统中,为什么说一条指令执行期间可能产生多次缺页中断?答:因分页虚拟管理方式中,只要作业的部分页在内存,该作业就能执行,而在执行过程中发现所要访问的指令或者数据不在内存时,则产生缺页中断,将所需的页面调入内存在分页虚拟存储管理系统中,一条指令(如Copy A to B )可能跨了两个页,而其中要访问的操作数可能也跨了两个页当要执行这类指令,而相应的页都不在内存时,就将产生多次缺页中断(如Copy A to B可能产生6次缺页中断)【例15】在分页虚拟存储管理系统中,假定系统为某进程分配了四个主存块(将开始4页先装入主存),页的引用顺序为:7,1,2,0,3,0,4,2,3,0,3,2,7,0,1,若采用FIFO调度算法、LRU调度算法时分别产生多少次缺页中断?依次淘汰的页分是什么?答:按照先进先出算法的原则:当发生缺页中断时,将淘汰最先调入主存的页面:页号 7 1 2 0 3 0 4 2 3 0 3 2 7 0 主存块的情况 7 7 7 7 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 4 4 4 4 4 4 4 4 2 2 2 2 2 2 2 2 2 2 2 2 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 淘汰页 7 1 2 共发生了3次缺页中断,依次淘汰的页位7、1、2按照最近最少用算法的原则:当发生缺页中断时,后者则淘汰最近一段时面内最久没有被访问的页面页号 7 1 2 0 3 0 4 2 3 0 3 2 7 0 主存块的情况 7 1 2 0 3 0 4 2 3 0 3 2 7 0 1 7 1 2 0 3 0 4 2 3 0 3 2 7 2 2 7 1 2 2 3 0 4 2 2 0 3 2 0 0 0 7 1 1 2 3 0 4 4 4 0 3 淘汰页 7 1 4 发生了3次缺页中断,依次淘汰的页位7、1、4【例16】现有一分页虚拟存取管理系统,其页表保存在寄存器中若有一个可用的空页或被替换的页未被修改,则它处理一个缺页中断需要8ms如果被替换的页已被修改,则处理一个缺页中断需要20ms内存存取时间为1μs假定70%被替换的页被修改过,为保证有效存取时间不超过2μs,可接受的最大缺页率是多少?分析:因为页表放在寄存器里,所以访问页表的时间可以忽略不计则存取时间就包括内存存取时间和处理缺页中断的时间答:如果用P表示缺页率,则有效访问时间不超过2μs可表示为:(1-p)×1μs+p×(0.7×20ms+0.3×8ms+1μs)≤2μs因此可计算出:p≤1/16400≈0.000062.下列(A )存储方式不能实现虚拟存储器A、分区B、页式C、段式D、段页式3.操作系统处理缺页中断时,选择一种好的调度算法对主存和辅存中的信息进行高效调度尽可能地避免(D )A、碎片B、CPU空闲C、多重中断D、抖动4.分页式存储管理的主要特点是(C )A、要求处理缺页中断B、要求扩充主存容量C、不要求作业装入到主存的连续区域D、不要求作业全部同时装人主存5.LRU页面调度算法淘汰(B )的页A、最近最少使用B、最近最久未使用C、最先进入主存D、将来最久使用6.虚拟存储器实际容量受(B )限制A、物理主存的大小B、计算机的地址结构C、磁盘容量D、数据存放的绝对地址7.分区管理要求对每一个作业都分配(A)的主存单元A、地址连续B、若干地址不连续的C、若干连续的页D、若干不连续的帧8.页面置换算法中(A )不是基于程序执行的局部性理论A、先进先出调度算法B、LRUC、LFUD、最近最不常用调度算法9.在存储管理中,采用覆盖与交换技术的目的是(A)A、节省主存空间B、物理上扩充主存容量C、提高CPU的效率D、实现主存共享10.分页虚拟存储管理中,缺页中断时,欲调度一页进入主存中,内存己无空闲块,如何决定淘汰已在主存的块时,(B )的选择是很重要的A、地址变换B、页面调度算法C、对换方式D、覆盖技术11.动态重定位技术依赖于(B )A、重定位装入程序B、重定位寄存器C、地址结构D、目标程序12.(D)存储管理兼顾了段式在逻辑上清晰和页式在存储管理上方便的优点A、分段B、分页C、可变分区方式D、段页式13.在可变分区存储管理中,某作业完成后要收回其主存空间,该空间可能与相邻空闲区合并,修改空闲区表使空闲区始址改变但空闲区数不变的是(C )情况A、有上邻空闲区也有下邻空闲区B、有上邻空闲区但无下邻空闲区C、无上邻空闲区但有下邻空闲区D、无上邻空闲区且也无下邻空闲区14.可变分区管理中,首次适应分配算法可将空闲区表中的空闲区栏目按(A )顺序排列A、地址递增B、长度递增C、地址递减D、长度递减15.在固定分区分配中,每个分区的大小是(C )A、随作业长度变化B、相同C、可以不同但预先固定D、可以不同但根据作业长度固定16.存储管理主要管理的是( C )A、外存存储器用户区B、外存存储器系统区C、主存储器用户区D、主存储器系统区17.下述(B )页面置换算法会产生Belady现象A、最佳置换算法B、先进先出算法C、LRU算法D、Clock算法18.作业执行中发生了缺页中断,经操作系统处理后,应让其执行(C )指令A、被中断的前一条B、被中断的后一条C、被中断的D、启动时的第一条19可变分区方式常用的主存分配算法中,(A)总是找到能满足作业要求的最小空闲区分配A、最佳适应算法B、首次适应算法C、最坏适应算法D、循环首次适应算法20可变分区方式常用的主存分配算法中,(C)总是找到能满足作业要求的最大空闲区分配A、最佳适应算法B、首次适应算法C、最坏适应算法D、循环首次适应算法二、多项选择题1.不需硬件地址转换机构支撑的存储管理方式是(AD )A、单用户连续方式B、可变分区方式C、页式和段式D、固定分区方式E、段页式2.可用上下界限寄存器实现存储保护的是(ACE )存储管理A、分段B、段页式C、可变分区D、分页E、固定分区3.在下列存储器管理方案中,能实现虚拟存储的是(CD )A、分区管理B、分页存储管理C、请求分页存储管理D、请求分段存储管理E、段页式存储管理4.在下列算法中,可用于页面置换算法的是(ABE ) A、先进先出算法 B、LRU算法C、优先级高者优先算法 D、时间片轮转法E、Clock算法三、填空题1.在存储器管理中,页是信息的物理单位,段是信息的逻辑单位页面大小由系统确定,段的大小由_用户作业本身确定2.将作业地址空间中的逻辑地址转换为主存中的物理地址的过程称为地址转换3.为了解决碎片问题,可采用一种方法,将内存中的所有作业进行移动,使原来分散的多个小分区拼接成一个大分区,这种方法称为紧凑4.覆盖技术的关键是提供正确的覆盖结构5.页表的作用是实现从页号到物理块号的映射6.程序执行的局部性原理体现在时间局部性和空间局部性两个方面7.在分页虚拟存储管理方式中,常采用的页面置换算法有:最佳置换算法,淘汰不再使用或最远的将来才使用的页;先进先出算法,选择淘汰在主存驻留时间最长的页;最近最少使用算法,选择淘汰离当前时刻最近的一段时间内使用得最少的页8.所谓虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统9、可变分区中为提高主存利用率,采用紧凑技术,但这样做花费处理器时间,增加系统开销11.段页式存储管理兼顾了段式在逻辑上清晰和页式存储管理上方便的优点.12.页面调度算法的选择是很重要的,如果选用了一个不合适调度算法就会出现这样的现象,刚被淘汰的页面又立即要用,把它调入,不久又被调出,调出不久又再次调入,如此反复,使调度时间非常频繁,以致大部分时间都花费在来回调度上,这种现象叫做抖动,又称颠簸13.页式存储管理中,进行存储分配时,以块为单位进行分配,采用不连续的分配办法,作业信息可以按页分散在主存不连续的主存块中。
第四章存储器管理1. 为什么要配置层次式存储器?这是因为:a.设置多个存储器可以使存储器两端的硬件能并行工作。
b.采用多级存储系统,特别是Cache技术,这是一种减轻存储器带宽对系统性能影响的最佳结构方案。
c.在微处理机内部设置各种缓冲存储器,以减轻对存储器存取的压力。
增加CPU中寄存器的数量,也可大大缓解对存储器的压力。
2. 可采用哪几种方式将程序装入内存?它们分别适用于何种场合?将程序装入内存可采用的方式有:绝对装入方式、重定位装入方式、动态运行时装入方式;绝对装入方式适用于单道程序环境中,重定位装入方式和动态运行时装入方式适用于多道程序环境中。
3. 何为静态链接?何谓装入时动态链接和运行时动态链接?a.静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开的链接方式。
b.装入时动态链接是指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的一种链接方式,即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找相应的外部目标模块,把它装入内存中,并修改目标模块中的相对地址。
c.运行时动态链接是将对某些模块的链接推迟到程序执行时才进行链接,也就是,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。
4. 在进行程序链接时,应完成哪些工作?a.对相对地址进行修改b.变换外部调用符号6. 为什么要引入动态重定位?如何实现?a.程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程序还能正常执行,必须对程序和数据的地址加以修改,即重定位。
引入重定位的目的就是为了满足程序的这种需要。
b.要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序在内存中的起始地址。
程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。
第四章存储器管理习题分析
一、判断改错题(判断叙述是否正确,正确的打√,错误的打×并改正。
)
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.当程序经过以后,形成了一种由机器指令组成的集合,被称为。
它的指令
顺序都是以0作为一个参考地址,这种地址被称为,地址的集合被称为。
33.在虚拟段式存储管理中,若逻辑地址的段内地址大于段表中该段的段长,则发生。
34.在分段管理的地址变换过程中,若执行某条指令,首先要找到该作业段表的,然后根
据逻辑地址中的段号去查找,得到该段的,其值与段内位移量,得到。
习题解答:
35.编译或汇编,地址重定位,物理地址;
36.逻辑页号,物理块号;
37.首次适应、最佳适应、最差适应;
38.页表,物理地址,数据;
39.段表,段号,段长,内存起始地址;
40.调入策略,替换策略,地址变换,一定规则;
41.物理空间,虚拟,分页请求系统,请求分段系统;
42.编译,目标程序,逻辑地址,地址空间;
43.越界中断;
44.始址,段表项,内存中的物理始址,相加,操作的实际地址;
三、简答题
45.为什么要做“重定位”?何谓静态重定位和动态重定位?
答:当程序经过编译或者汇编后,形成目标程序的指令的顺序都以0作为一个参考地址,要把以0为相对地址的目标程序装入一个以某个地址为起点的用户存储区,需要进行一个地址的对应转换,即地址重定位。
静态重定位是在目标程序装入指定内存区的时候,由装配程序在程序执行之前完成地址转换。
动态重定位是在目标程序执行过程中,在CPU访问内存之前,由地址映射机构来完成的将指令或数据的相对地址转换为物理地址过程。
46.各种存储管理方式对作业地址空间连续性有何要求?
答:分区管理要求给每个作业分配一个地址连续的存储空间;分页管理取消了存储分配的连续性要求,使一个作业的地址空间在内存中可以使若干各不一定连续的区域;分段管理每段使用一个连续的存储区,各段之间的内存区不一定连续。
47.页和段有什么不同?
(1)页是信息的物理单位,分页是由于系统管理的需要,消除外零头,提高内存的利用率;
段是信息的逻辑单位,分段是为了更好的满足用户的需要;
(2)页的大小固定由系统确定,硬件实现;段长可变,决定于用户所编写的程序,根据信息的性质来划分;
(3)分页的地址空间是一维的,分段的地址空间是二维的;
48.何谓页表和快表?它们各起什么作用?
答:系统为每个进程建立的一张从逻辑页号到物理块号的映射表,称为页表;页表指出逻辑地址中页号与所占主存块号的对应关系,实现地址变换。
为了提高地址变换速度,在地址变换机构中,增设一个具有并行查询能力的特殊高速缓冲存储器,称为快表。
49.虚拟存储也是一种内存扩充技术,它与覆盖、交换技术技术有何不同?
答:覆盖——让作业中不同时调用的子模块共同使用同一内存区。
当运行过程中调用不在内存中的一个模块时,由外存调入并且将原来已经运行完成的程序模块覆盖掉,即装入同一存储区域。
覆盖技术由操作系统自动完成,但要求作业中各模块要有明确的调用结构。
对换——把内存中暂不能运行的进程,或暂时不用的程序和数据,换出到外存上,以腾出足够的内存空间,把已具备运行条件的进程,或进程所需要的程序和数据,换入内存。
虚拟存储是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。
四、应用题0
50.在请求分页系统中,采用LRU页面置换算法时,假设一个作业的页面走向为4,3,2,1,4,3,
5,1,3,2,1,5,当分配给该作业的物理块数分别为3和4时,试描述访问过程中发生缺页的情况,并计算缺页中断率,比较所得结果。
4 3 2 1 4 3
5 1 3 2 1 5
3 4 4 4 1 1 1 5 5 5 2 2 2
3 3 3
4 4 4 1 1 1 1 1
2 2 2
3 3 3 3 3 3 5
页面数为3是:(7/12)*100%=58.3% 页面数为4是:(2/12)*100%=16.7%
4 4 4 4 4 4 4 4 4 4 2 2 2
3 3 3 3 3 3 3 3 3 3 3
2 2 2 2 5 5 5 5 5 5
1 1 1 1 1 1 1 1 1
页面增加可以降低缺页率。
51.某虚拟存储器的用户空间共32个页面,每页1KB,主存16KB。
假定某时刻系统为用户的第0、1、
2、3页分别分配的物理块号为5、10、4、7,试将虚拟地址093C转换为物理地址。
52.在某多道程序系统中,供用户使用的内存空间有100K,磁带机2台,打印机1台。
系统采用可
变式分区分配管理内存,对磁带机和打印机采用静态分配方式,并设输入/输出操作的时间忽略不计。
现有一作业序列如下:
作业号到达时间要求计算时间
(分钟) 要求内存
量
申请磁带
机数(台)
申请打印
机数(台)
1 8:00 25 15K 1 1
2 8:20 10 30K 1
3 8:20 20 60K 1
4 8:30 20 20K 1
5 8:35 15 10K 1 1
采用先来先服务的调度算法,优先分配内存的低地址区域且不准移动内存中的作业,在内存中的作业平分CPU时间,试问:
(1)作业调度选中作业的次序是什么?
(2)计算各作业的周转时间。
具体描述系统的资源分配过程。