您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 《操作系统》第4章教材习题解答
1第4章存储管理“练习与思考”解答1.基本概念和术语逻辑地址、物理地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、碎片、碎片紧缩、虚拟存储器、快表、页面抖动用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为相对地址或逻辑地址。内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为绝对地址或物理地址。由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。由内存中一系列存储单元所限定的地址范围称作内存空间,也称物理空间或绝对空间。程序和数据装入内存时,需对目标程序中的地址进行修改。这种把逻辑地址转变为内存物理地址的过程称作重定位。静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。动态重定位是在程序执行期间,每次访问内存之前进行重定位。这种变换是靠硬件地址转换机构实现的。内存中这种容量太小、无法被利用的小分区称作“碎片”或“零头”。为解决碎片问题,移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区留在另一端。这种技术称为紧缩(或叫拼凑)。虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。为了解决在内存中放置页表带来存取速度下降的矛盾,可以使用专用的、高速小容量的联想存储器,也称作快表。若采用的置换算法不合适,可能出现这样的现象:刚被换出的页,很快又被访问,为把它调入而换出另一页,之后又访问刚被换出的页,……如此频繁地更换页面,以致系统的大部分时间花费在页面的调度和传输上。此时,系统好像很忙,但实际效率却很低。这种现象称为“抖动”。2.基本原理和技术2(1)存储器一般分为哪些层次?各有何特性?存储器一般分为寄存器、高速缓存、内存、磁盘和磁带。CPU内部寄存器,其速度与CPU一样快,但它的成本高,容量小。高速缓存(Cache),它们大多由硬件控制。Cache的速度很快,它们放在CPU内部或非常靠近CPU的地方。但Cache的成本很高,容量较小。内存(或称主存),它是存储器系统的主力,也称作RAM(随机存取存储器)。CPU可以直接存取内存及寄存器和Cache中的信息。然而,内存中存放的信息是易变的,当机器电源被关闭后,内存中的信息就全部丢失了。磁盘(即硬盘),称作辅助存储器(简称辅存或外存),它是对内存的扩展,但是CPU不能直接存取磁盘上的数据。磁盘上可以永久保留数据,而且容量特别大。磁盘上数据的存取速度低于内存存取速度。磁带保存的数据更持久,容量更大,但它的存取速度很慢,而且不适宜进行随机存取。所以,磁带设备一般不能用做辅存。它的主要用途是作为文件系统的后备,存放不常用的信息或用做系统间传送信息的介质。(2)装入程序的功能是什么?常用的装入方式有哪几种?装入程序的功能是根据内存的使用情况和分配策略,将装入模块放入分配到的内存区中。程序装入内存的方式有三种,分别是绝对装入方式、可重定位装入方式和动态运行时装入方式。(3)对程序进行重定位的方式分为哪两种?简述各自的实现方式。对程序进行重定位的方式分为静态重定位和动态重定位。静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。对每个程序来说,这种地址变换只是在装入时一次完成,在程序运行期间不再进行重定位。动态重定位是在程序执行期间,每次访问内存之前进行重定位。这种变换是靠硬件地址转换机构实现的。通常,采用一个重定位寄存器,其中放有当前正在执行的程序在内存空间中的起始地址,而地址空间中的代码在装入过程中不发生变化。(4)对换技术如何解决内存不足的问题?在多道程序环境中可以采用对换技术。此时,内存中保留多个进程。当内存空间不足以容纳要求进入内存的进程时,系统就把内存中暂时不能运行的进程(包括程序和数据)换出到外存上,腾出内存空间,把具备运行条件的进程从外存换到内存中。(5)解释固定分区法和动态分区法的基本原理。固定分区法——内存中分区的个数固定不变,各个分区的大小也固定不变,但不同分区的大小可以不同。每个分区只可装入一道作业。动态分区法——各个分区是在相应作业要进入内存时才建立的,使其大小恰好适应作业的大小。3(6)动态重定位分区管理方式中如何实现虚-实地址映射?进程装入内存时,是将该其程序和数据原封不动地装入到内存中。当调度该进程在CPU上执行时,操作系统就自动将该进程在内存的起始地址装入基址寄存器,将进程的大小装入限长寄存器。当执行指令时,如果地址合法,则将相对地址与基址寄存器中的地址相加,所得结果就是真正访问内存的地址;如果地址越界,则发出相应中断,进行处理。(7)分页存储管理的基本方法是什么?分页存储管理的基本方法是:逻辑空间分页,内存空间分块,块与页的大小相等。页连续而块离散,用页号查页表,由硬件作转换。(8)在分页系统中页面大小由谁决定?页表的作用是什么?如何将逻辑地址转换成物理地址?在分页系统中页面大小由硬件决定。页表的作用是实现从页号到物理块号的地址映射。逻辑地址转换成物理地址的过程是:用页号p去检索页表,从页表中得到该页的物理块号f,把它装入物理地址寄存器中。同时,将页内地址d直接送入物理地址寄存器的块内地址字段中。这样,物理地址寄存器中的内容就是由二者拼接成的实际访问内存的地址,从而完成了从逻辑地址到物理地址的转换。(9)虚拟存储器有哪些基本特征?虚拟存储器的基本特征是:虚拟扩充——不是物理上,而是逻辑上扩充了内存容量;部分装入——每个进程不是全部一次性地装入内存,而是只装入一部分;离散分配——不必占用连续的内存空间,而是“见缝插针”;多次对换——所需的全部程序和数据要分成多次调入内存。(10)页面抖动与什么有关?好的页面置换算法能够适当降低页面更换频率,减少缺页率,尽量避免系统“抖动”。此外,一般来说,随着可用内存块数的增加,缺页数也将减少。3.思考题(1)为了提高内存的利用率,在可重定位分区分配方式中可通过什么技术来减少内存碎片?在可重定位分区分配方式中采用紧缩技术来减少内存碎片。(11)请求分页技术与简单分页技术之间的根本区别是什么?请求分页技术与简单分页技术之间的根本区别是:请求分页提供虚拟存储器,而简单分页系统并未提供虚拟存储器。4(2)某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:页号物理块号051102437计算逻辑地址0A5C(H)所对应的物理地址。解:页式存储管理的逻辑地址分为两部分:页号和页内地址。由已知条件“用户编程空间共32个页面”,可知页号部分占5位;由“每页为1KB”,1K=210,可知内页地址占10位。由“内存为16KB”,可知有16块,块号为4位。逻辑地址0A5C(H)所对应的二进制表示形式是:000101001011100,根据上面的分析,下划线部分为页内地址,编码“00010”为页号,表示该逻辑地址对应的页号为2。查页表,得到物理块号是4(十进制),即物理块地址为:0100,拼接块内地址1001011100,得01001001011100,即125C(H)。(12)考虑下述页面走向:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6当内存块数量分别为3,5时,试问LRU、FIFO、OPT这三种置换算法的缺页次数各是多少?(注意,所有内存块最初都是空的,所以,凡第一次用到的页面都产生一次缺页。)内存块数淘汰算法LRUFIFOOPT315161158107(13)考虑下面存储访问序列,该程序大小为460字:10,11,104,170,73,309,185,245,246,434,458,364设页面大小是100字,请给出该访问序列的页面走向。又设该程序基本可用内存是200字,采用FIFO置换算法,求出其缺页率。如果采用LRU置换算法,缺页率是多少?如果采用最优淘汰算法,其缺页率又是多少?(注:缺页率=缺页次数/访问页面总数)解:根据已知条件页面大小是100字,将页面访问序列简化为:0,0,1,1,0,3,1,2,2,4,4,3又因为该程序基本可用内存是200字,可知内存块数为2。采用先进先出置换算法(FIFO),总共有6次缺页,缺页率为6/12=50%,具体算法如下:5页面走向001103122443块1003344块211223缺页缺缺缺缺缺缺采用最近最少使用置换算法(LRU),总共有6次缺页,缺页率为6/12=50%,具体算法如下:页面走向001103122443块10001144块2133223缺页缺缺缺缺缺缺缺采用最佳置换算法(OPT),总共有5次缺页,缺页率为5/12=41.6%,具体算法如下:页面走向001103122443块100333块21124缺页缺缺缺缺缺
本文标题:《操作系统》第4章教材习题解答
链接地址:https://www.777doc.com/doc-2838051 .html