计算机操作系统课后题答案3_第1页
计算机操作系统课后题答案3_第2页
计算机操作系统课后题答案3_第3页
计算机操作系统课后题答案3_第4页
计算机操作系统课后题答案3_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章 存储管理3.1 存储管理的功能及目的是什么?答:在多道程序环境中,存储管理的主要目的有两个:一是提高资源的利用率,尽量满足多个用户对内存的要求;二是能方便用户使用内存,使用户不必考虑作业具体放在内存哪块区域,是如何实现正确运行等复杂问题。为此,存储管理一般应能实现如下所述的基本功能: 按作业要求进行内存分配并进行适时回收。 实现程序中的逻辑地址到物理地址的转换。 对操作系统及用户信息提供存储保护。 实现内存的逻辑扩充,提供给用户更大的存储空间。3.2 什么是物理地址?什么是逻辑地址?答:内存是由若干个存储单元组成的,每个存储单元有一个编号,这种编号可惟一标识一个存储单元,称为内存地址(

2、或物理地址)。源程序经过汇编或编译后,形成目标程序,每个目标程序都是以0为基址顺序进行编址的,原来用符号名访问的单元用具体的数据单元号取代。这样生成的目标程序占据一定的地址空间,称为作业的逻辑地址空间,简称逻辑空间。在逻辑空间中每条指令的地址和指令中要访问的操作数地址统称为逻辑地址。3.3 什么是地址重定位?为什么要进行地址重定位?答:为了实现静态或动态存储分配策略,必须考虑地址的重定位问题。我们把用户程序装入内存时,对有关指令的逻辑地址部分的修改称为地址重定位,即地址重定位是建立用户程序的逻辑地址与物理地址之间的对应关系。按实现地址重定位的时机不同,地址重定位又分为两种:静态地址重定位和动态

3、地址重定位。3.4 什么是动态地址重定位?试举例说明实现动态地址重定位的过程。答:动态地址重定位是在程序执行期间进行的。一般说来,这种转换由专门的硬件机构来完成,通常采用一个重定位寄存器,在每次进行存储访问时,对取出的逻辑地址加上重定位寄存器的内容,形成正确的物理地址,重定位寄存器的内容是程序装入内存的起始地址。举例说明略。3.5 什么是存储保护?举例说明常用的硬件存储保护措施是如何实现的?答:在多道程序设计环境中,要保证各道程序只能在自己的存储区中活动,不能对别的程序产生干扰和破坏,尤其是不能破坏操作系统的内存区。因此,必须对存储信息采取各种保护措施,这也是存储管理的一个重要功能。存储信息的

4、保护体现在不能越界访问,破坏操作系统或其他用户的程序。实现这种存储保护,可以采用硬件的方法,也可采用软、硬件结合的方法。举例说明略。3.6 实存管理和虚拟存储器管理方案的区别在哪里?常用的实存管理方案有哪些?答:虚拟存储技术的基本思想是把有限的内存空间与大容量的外存统一管理起来,构成一个远大于实际内存的、虚拟的存储器。此时,外存是作为内存的逻辑延伸,用户并不会感觉到内、外存的区别,即把两级存储器当作一级存储器来看待。一个作业运行时,其全部信息装入虚存,实际上可能只有当前运行所必需的一部分信息存入内存,其它则存于外存,当所访问的信息不在内存时,系统自动将其从外存调入内存。当然,内存中暂时不用的信

5、息也可调至外存,以腾出内存空间供其它作业使用。这些操作都由存储管理系统自动实现,不需用户干预。对用户而言,只感觉到系统提供了一个大容量的内存,但这样大容量的内存实际上并不存在,是一种虚拟的存储器,因此把具有这种功能的存储管理技术称为虚拟存储管理。实现虚拟存储管理的方法有请求页式存储管理和请求段式存储管理。常用的实存管理方案有连续存储管理、分页式存储管理、分段式存储管理、段页式存储管理。3.7 可变式分区存储管理常用的分配算法有哪几种?比较它们的优缺点。答:可变式分区存储管理,可采用最佳适应算法、首次适应算法和最差适应算法。最佳适应算法,理论上看起来比较完美,但每次分配时总产生极小的空闲分区,经

6、过一段时间运行,内存中可能有多个这样的小分区,因太小而无法分配给其它作业使用。这些无法使用的小分区,我们称之为外部碎片,外部碎片的增多会降低空闲区链表的查找速度。为此,人们又在此算法中设定一个参数g,当从一个分区中,分配xk给某作业后,剩余部分小于g时,就把整个分区分配给该作业,不再划分成两部分。采用最佳适应法的另一个问题是,回收一个分区时,为了把它插入到空闲区链表的合适位置,也是比较费时的。最差适应算法的优点是查询简单,而且每次分配的总是最大的空闲区,除用户使用的外,剩余的空闲区还可能相当大,还能装入较大的程序,但缺点也在于此,每次总从最大的空闲分区分配,当有大的作业到来时,其存储分配申请往

7、往得不到满足。首次适应算法的优点是分配和回收算法都比较简单,查找速度快,因这个算法总是从低地址开始查找,因此留在高地址部分的大空闲区被划分机会少,在大作业到来时容易满足。这三种算法,各有利弊。到底哪一种好,不能一概而论,应针对具体的作业序列来分析。如果对于某一作业序列来说,某种算法能将该作业序列中的所有作业安置完毕,那么我们就认为该算法对这一作业序列而言是合适的。3.8 假设某系统内存共256kb,其中操作系统占用低址20 kb ,有这样一个作业序列:作业1(80kb),作业2(16kb),作业3(140kb),连续进入系统,经过一段时间运行,作业1、3先后完成。此时,作业4(120kb),作

8、业5(80kb)要求进入系统,分别采用首次适应算法和最佳适应算法,处理上述作业序列,完成下列要求: 画出作业1、2、3进入内存后,内存的分配情况。 画出作业1、3完成后,内存分配情况。 画出两种算法中空白区的链接情况。 哪种算法该对作业序列而言是合适的? 答: (1)操作系统(20k)作业1(80k)作业2(16k)作业3(140k)(2)操作系统(20k)作业1(80k)作业2(16k)作业3(140k) (3) 画出两种算法的空闲区链接情况首次适应算法(ff):最佳适应算法(bf):(4) 首次适应算法(ff)更好3.9 什么是内部碎片?什么是外部碎片?如何克服外部碎片问题?假设某作业为3

9、.5k大小,在逻辑地址1000号单元处有指令mov r1,3000,3000号单元有数据5678。采用分页式存储管理,页面大小为1k字节,该作业进入内存后,其页面0,1,2,3被分配到内存的2、4、6、7块中,完成下列要求: 画出该作业的页表 画出当执行指令mov r1,3000时,如何进行地址重定位,将逻辑地址3000号单元处数据5678送入r1 寄存器。答:(1)画出该作业的页表页面号块号02142637(2)画出当执行指令mov r1,3000 时,如何进行地址重地位,将逻辑地址3000号单元处数据5678送入r1寄存器。法1:1k2k3k4k-10 21 42 6001010 1110

10、111000w=3b8h页表始址寄存器页号p 页内地址wa 块号 b 块内地址w0000101110111000内存作业2mov r1,3000 p=2 1bb8h56785678 页号 块号 分页式存储管理地址重定位实现过程(3000)d=( 00010 1110111000)b所以:页号=(00010)b=(2)d 查页表得 :块号=(6)d=(000110)b页内地址=(1110111000)b=块内地址 所以: 内存地址为:(000110 1110111000)b=( 1 b b 8 )h法2:3000/1024=2所以:页号=2 查页表得 :块号=6 页内地址=3000-1024*2

11、=952 所以: 内存地址为:(7096)d 3.10 什么是联想存储器?为什么用联想存储器可有效提高动态地址转换速度?答:为了提高查表的速度,人们在分页地址变换机构中,加入一组高速缓冲存储器,用来存放当前作业的最常用的页号和与之相应的物理块号。一般称这样的寄存器组为快表或联想存储器。当处理机给出逻辑地址(p,w)时,分页机构一方面取出页号p,并根据p从页表中查找相应的内存块号b;另一方面自动把页号p送入联想存储器,并和联想存储器各单元进行比较,如与某单元页号相符,则输出对应块号b,并与页内地址w形成物理地址进行访问,同时停止前面查找页表的工作。由于联想存储器采用的是高速缓存,其访问速度比访问

12、页表要快得多。如果在联想存储器中查不到,仍继续在页表中查找,并把查找到的页号p和块号b放到联想存储器的空闲单元中,以备下次使用。如无空闲单元,则通常把最先装入的那个页号淘汰,以腾出位置。应用联想存储器和页表相结合的方式,可有效地提高系统动态地址转换的速度,是一种行之有效的方法。3.11 什么是虚拟存储器?使用虚拟存储器有什么好处?答:虚拟存储技术的基本思想是把有限的内存空间与大容量的外存统一管理起来,构成一个远大于实际内存的、虚拟的存储器。此时,外存是作为内存的逻辑延伸,用户并不会感觉到内、外存的区别,即把两级存储器当作一级存储器来看待。一个作业运行时,其全部信息装入虚存,实际上可能只有当前运

13、行所必需的一部分信息存入内存,其它则存于外存,当所访问的信息不在内存时,系统自动将其从外存调入内存。当然,内存中暂时不用的信息也可调至外存,以腾出内存空间供其它作业使用。这些操作都由存储管理系统自动实现,不需用户干预。对用户而言,只感觉到系统提供了一个大容量的内存,但这样大容量的内存实际上并不存在,是一种虚拟的存储器,因此把具有这种功能的存储管理技术称为虚拟存储管理。实现虚拟存储管理的方法有请求页式存储管理和请求段式存储管理。3.12 画图说明请求页式存储管理系统中动态地址重定位及缺页中断的处理过程。答:处理过程如下图所示调整页表及其相应链表n启动一条指令由硬件把逻辑地址分成页号p和页内地址w

14、该页在主存吗?保留现场有空白存储块吗?由辅存地址读入所需页面调整页表及其相应链表恢复现场访问存储器完成该指令取下一条指令选择一页置换掉该页修改过吗?把该页写回辅存yn (引起缺页中断)yyn硬件软件 请求式分页存储管理缺页中断处理过程示意图3.13 请求页式存储管理系统中有哪几种常见的页面置换算法?答:最优算法(opt算法)、先进先出算法(fifo算法)、最近最久未使用算法(lru算法)、lru近似算法。3.14 在一个请求页式存储管理系统中,一个程序的页面走向是:6,5,4,3,2,1,5,4,3,6,5,4,3,2,1,6,5请分别采用fifo算法和lru算法,求出在作业分得的内存块数分别

15、为m=4和m=5时,缺页中断次数和缺页率各为多少?答:m=4 fifo65432154365,4,3,216,56666222233335555511116666444455552223333444411缺页中断次数:9缺页中断率:9/17m=4 lru65432154365,4,3,216566662222333335555511116222244445555446633334445111缺页中断次数:10缺页中断率:10/17m=5 fifo6543215,4,3,654321656666611111222255555666661114444455555663333344444522222

16、33333缺页中断次数:9缺页中断率:9/17m=5 lru6543215,4,3,65,4,3,2165666661122225555555566444444445333333332266111缺页中断次数:6缺页中断率:6/173.15 请求页式和请求段式存储管理的地址变换过程有什么区别?答:请求页式和请求段式存储管理的动态地址变换过程有许多相似之处,但两者有着本质上的区别。主要表现在以下几点: 请求分页存储管理的作业地址空间是一个单一的线性地址空间;而分段存储管理的作业地址空间是二维的地址空间。 请求分页存储管理中,页的大小是固定的,对于分页活动,用户是不可见的;分段存储管理中,段的大小

17、是不定的,是信息的逻辑单位,用户是可见的。 请求分页存储管理中,把程序地址分成页号p和页内位移量w是硬件完成的功能;分段存储管理中,把程序地址分成段号s和段内偏移量d是软件的功能。3.16 请求段式存储管理有哪些优点?答:请求段式存储管理有如下优点: 可提供大容量的虚存:这与请求页式存储管理类似。一个作业运行时,内存只存放较少的段。在作业执行过程中,需要使用某段时再从外存调入;若此时内存无空间,则需进行段的紧凑或是移出某些段。 允许动态增加段的长度:对于一个较大的段,开始可以装入其中的一部分。当程序员企图向段中增加新的内容或扩大段的长度时,可以动态增加段的长度。因为段表中有一个增补位,当访问的

18、地址大于段长时便产生越界中断,此时检查增补位,若为1,则可增加段长度,可通过紧凑或移去一些段的办法来实现。 利用允许动态增长段的特性,容易处理变化的数据结构,比如表格和数据段等。 便于段的动态链接:一个作业可能由若干个程序段组成,在采用单一线性地址空间时,这些程序段要在执行之前完成链接和装配工作,产生出一个完整的连续空间。 这称之为静态链接。这种工作不仅费时,有时甚至是徒劳的,因为在作业运行过程中,有的程序模块根本未被调用和执行过。为此,最好是在需要调用某程序段时,再把它链接到作业空间中,这就是所谓动态链接。 由于请求段式存储管理为用户提供的是二维地址空间,每个程序模块构成独立的分段,有自己的

19、名字,这为实现动态链接提供了基础。 便于实现程序段的共享:进入内存中的程序段占据内存中的一个连续存储区。若多个作业要共享它,只需在它们各自的段表中填入该段的起始地址,设置上适当的存取权限即可。 便于实现存储保护:在段表中规定了段的存取权限和段的长度,超出段长引起越界中断,违反存取权限引起存储保护中断,通过这种方法能防止一个用户作业侵犯另一用户作业,也可以防止对共享程序的破坏。3.17 什么是抖动现象?它有什么危害?答:当发生缺页中断时,如果内存已无空闲块,就要把已在内存的一些页面置换出去。所谓页面置换算法,就是采取什么办法淘汰掉内存中的某些页为必须进入内存的页面腾出空间的策略。这一直是人们十分

20、重视的一个问题,因为页面置换算法的优劣直接影响到系统效率。如果置换算法不当,就有可能出现某些页刚被置换出去又要马上访问的情况,因而又要将其调回,而调回后不久又要被置换出去,这样不断反复,以致使处理机的大部分时间都消耗在频繁的页面置换上,结果使系统性能急剧下降。我们把这种现象称为系统抖动。尽量减少和排除抖动现象的发生,是人们一直追求的目标。3.18 什么是程序的局部性原理?答:所谓程序的局部性原理,是指在一段时间内,程序执行过程中往往是集中地访问某一部分内存区域中的指令或数据。3.19 什么是工作集?答:所谓工作集,就是程序在某一小段时间内所访问的不同页面的集合。如果用w(t,t)表示从(t-t

21、)开始到t 之间所访问的页面集合,那么w就是作业在时间t 上的工作集。工作集是对程序局部的一个近似模拟,如果我们能找出一个作业的各个工作集,并求出其页面数最大者,就可确定该作业所需内存量,acknowledgements my deepest gratitude goes first and foremost to professor aaa , my supervisor, for her constant encouragement and guidance. she has walked me through all the stages of the writing of this t

22、hesis. without her consistent and illuminating instruction, this thesis could not havereached its present form. second, i would like to express my heartfelt gratitude to professor aaa, who led me into the world of translation. i am also greatly indebted to the professors and teachers at the departme

23、nt of english: professor dddd, professor ssss, who have instructed and helped me a lot in the past two years. last my thanks would go to my beloved family for their loving considerations and great confidence in me all through these years. i also owe my sincere gratitude to my friends and my fellow classmates who gave me their help and time in listening to me and helping me work out my problems during the difficult course of the thesis. my deepest gratitude goes first and foremost to professor aaa , my supervisor, for her constant encouragement and guidance. she has

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论