计算机操作系统课后题附标准答案.docx
- 文档编号:7812021
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:10
- 大小:123.14KB
计算机操作系统课后题附标准答案.docx
《计算机操作系统课后题附标准答案.docx》由会员分享,可在线阅读,更多相关《计算机操作系统课后题附标准答案.docx(10页珍藏版)》请在冰豆网上搜索。
计算机操作系统课后题附标准答案
第3章存储管理
3.1存储管理的功能及目的是什么?
答:
在多道程序环境中,存储管理的主要目的有两个:
一是提高资源的利用率,尽量满足多个用户对内存的要求;二是能方便用户使用内存,使用户不必考虑作业具体放在内存哪块区域,是如何实现正确运行等复杂问题。
为此,存储管理一般应能实现如下所述的基本功能:
矚慫润厲钐瘗睞枥庑赖。
1按作业要求进行内存分配并进行适时回收。
2实现程序中的逻辑地址到物理地址的转换。
3对操作系统及用户信息提供存储保护。
4实现内存的逻辑扩充,提供给用户更大的存储空间。
3.2什么是物理地址?
什么是逻辑地址?
答:
内存是由若干个存储单元组成的,每个存储单元有一个编号,这种编号可惟一标识一个存储单元,称为内存地址(或物理地址)。
源程序经过汇编或编译后,形成目标程序,每个目标程序都是以0为基址顺序进行编址的,原来用符号名访问的单元用具体的数据——单元号取代。
这样生成的目标程序占据一定的地址空间,称为作业的逻辑地址空间,简称逻辑空间。
在逻辑空间中每条指令的地址和指令中要访问的操作数地址统称为逻辑地址。
聞創
沟燴鐺險爱氇谴净。
3.3什么是地址重定位?
为什么要进行地址重定位?
答:
为了实现静态或动态存储分配策略,必须考虑地址的重定位问题。
我们把用户程序
装入内存时,对有关指令的逻辑地址部分的修改称为地址重定位,即地址重定位是建立用户程序的逻辑地址与物理地址之间的对应关系。
按实现地址重定位的时机不同,地址重定位又
分为两种:
静态地址重定位和动态地址重定位。
残骛楼諍锩瀨濟溆塹籟。
3.4什么是动态地址重定位?
试举例说明实现动态地址重定位的过程。
答:
动态地址重定位是在程序执行期间进行的。
一般说来,这种转换由专门的硬件机构
来完成,通常采用一个重定位寄存器,在每次进行存储访问时,对取出的逻辑地址加上重定位寄存器的内容,形成正确的物理地址,重定位寄存器的内容是程序装入内存的起始地址。
举例说明略。
酽锕极額閉镇桧猪訣锥。
3.5什么是存储保护?
举例说明常用的硬件存储保护措施是如何实现的?
答:
在多道程序设计环境中,要保证各道程序只能在自己的存储区中活动,不能对别的
程序产生干扰和破坏,尤其是不能破坏操作系统的内存区。
因此,必须对存储信息采取各种保护措施,这也是存储管理的一个重要功能。
存储信息的保护体现在不能越界访问,破坏操作系统或其他用户的程序。
实现这种存储保护,可以采用硬件的方法,也可采用软、硬件结
合的方法。
举例说明略。
彈贸摄尔霁毙攬砖卤庑。
3.6实存管理和虚拟存储器管理方案的区别在哪里?
常用的实存管理方案有哪些?
答:
虚拟存储技术的基本思想是把有限的内存空间与大容量的外存统一管理起来,构成
一个远大于实际内存的、虚拟的存储器。
此时,外存是作为内存的逻辑延伸,用户并不会感觉到内、外存的区别,即把两级存储器当作一级存储器来看待。
一个作业运行时,其全部信
息装入虚存,实际上可能只有当前运行所必需的一部分信息存入内存,其它则存于外存,当
所访问的信息不在内存时,系统自动将其从外存调入内存。
当然,内存中暂时不用的信息也可调至外存,以腾出内存空间供其它作业使用。
这些操作都由存储管理系统自动实现,不需用户干预。
对用户而言,只感觉到系统提供了一个大容量的内存,但这样大容量的内存实际
上并不存在,是一种虚拟的存储器,因此把具有这种功能的存储管理技术称为虚拟存储管理。
实现虚拟存储管理的方法有请求页式存储管理和请求段式存储管理。
常用的实存管理方案有
连续存储管理、分页式存储管理、分段式存储管理、段页式存储管理。
謀荞抟箧飆鐸怼类蒋薔。
3.7可变式分区存储管理常用的分配算法有哪几种?
比较它们的优缺点。
答:
可变式分区存储管理,可采用最佳适应算法、首次适应算法和最差适应算法。
最佳
适应算法,理论上看起来比较完美,但每次分配时总产生极小的空闲分区,经过一段时间运
行,内存中可能有多个这样的小分区,因太小而无法分配给其它作业使用。
这些无法使用的
小分区,我们称之为外部碎片,外部碎片的增多会降低空闲区链表的查找速度。
为此,人们
当大,还能装入较大的程序,但缺点也在于此,每次总从最大的空闲分区分配,当有大的作业到来时,其存储分配申请往往得不到满足。
首次适应算法的优点是分配和回收算法都比较简单,查找速度快,因这个算法总是从低地址开始查找,因此留在高地址部分的大空闲区被划分机会少,在大作业到来时容易满足。
这三种算法,各有利弊。
到底哪一种好,不能一概
而论,应针对具体的作业序列来分析。
如果对于某一作业序列来说,某种算法能将该作业序列中的所有作业安置完毕,那么我们就认为该算法对这一作业序列而言是合适的。
厦礴恳蹒骈
時盡继價骚。
3.8假设某系统内存共256kb,其中操作系统占用低址20kb,有这样一个作业序列:
作业1(80kb),作业2(16kb),作业3(140kb),连续进入系统,经过一段时间运行,作业1、3先后完成。
此时,作业4(120kb),作业5(80kb)要求进入系统,分别采用首次适应算法和最佳适应算法,处理上述作业序列,完成下列要求:
茕桢广鳓鯡选块网羈泪。
⑴画出作业1、2、3进入内存后,内存的分配情况。
⑵画出作业1、3完成后,内存分配情况。
⑶画出两种算法中空白区的链接情况。
⑷哪种算法该对作业序列而言是合适的?
答:
(1)
操作系统(20K)
作业1(80K)
作业2(16K)
作业3(140K)
(3)画出两种算法的空闲区链接情况首次适应算法(FF):
最佳适应算法(BF)
操作系统(20K)
作业1(80K)
作业2(16K)
作业3(140K)
>1L6K80K
柞业2(16K)
A140K
I辭系焼(20K)
fr116K80K
柞业2(16K)
A140K
(4)首次适应算法(FF)更好
3.9什么是内部碎片?
什么是外部碎片?
如何克服外部碎片问题?
假设某作业为3.5k大小,在逻辑地址1000号单元处有指令MovR1,[3000],3000号单元有数据5678。
采用分页式存储管理,页面大小为1k字节,该作业进入内存后,其页面0,1,
2,3被分配到内存的2、4、6、7块中,完成下列要求:
鹅娅尽損鹤惨歷茏鴛賴。
⑴画出该作业的页表
⑵画出当执行指令MovR1,[3000]时,如何进行地址重定位,将逻辑地址3000号
单元处数据5678送入R1寄存器。
籟丛妈羥为贍债蛏练淨。
答:
(1)画出该作业的页表
页面号
块号
0
2
1
4
2
6
3
7
(2)画出当执行指令MOVR1,[3000]时,如何进行地址重地位,将逻辑地址3000号单
元处数据5678送入R1寄存器。
預頌圣鉉儐歲龈讶骅籴。
法1:
渗釤呛俨匀谔鱉调硯錦。
分页式存储管理地址重定位实现过程
法2:
[3000/1024]=2
所以:
页号=2查页表得:
块号=6
页内地址=3000-1024*2=952
所以:
内存地址为:
(7096)D
3.10什么是联想存储器?
为什么用联想存储器可有效提高动态地址转换速度?
答:
为了提高查表的速度,人们在分页地址变换机构中,加入一组高速缓冲存储器,用
来存放当前作业的最常用的页号和与之相应的物理块号。
一般称这样的寄存器组为快表或联
想存储器。
当处理机给出逻辑地址(p,w)时,分页机构一方面取出页号p,并根据p从页
表中查找相应的内存块号b;另一方面自动把页号p送入联想存储器,并和联想存储器各单元进行比较,如与某单元页号相符,则输出对应块号b,并与页内地址w形成物理地址进行访
问,同时停止前面查找页表的工作。
由于联想存储器采用的是高速缓存,其访问速度比访问页表要快得多。
如果在联想存储器中查不到,仍继续在页表中查找,并把查找到的页号p和块号
b放到联想存储器的空闲单元中,以备下次使用。
如无空闲单元,则通常把最先装入的那个页号淘汰,以腾出位置。
应用联想存储器和页表相结合的方式,可有效地提高系统动态地址转换的速度,是一种行之有效的方法。
铙誅卧泻噦圣骋贶頂廡。
3.11什么是虚拟存储器?
使用虚拟存储器有什么好处?
答:
虚拟存储技术的基本思想是把有限的内存空间与大容量的外存统一管理起来,构成
一个远大于实际内存的、虚拟的存储器。
此时,外存是作为内存的逻辑延伸,用户并不会感
觉到内、外存的区别,即把两级存储器当作一级存储器来看待。
一个作业运行时,其全部信
息装入虚存,实际上可能只有当前运行所必需的一部分信息存入内存,其它则存于外存,当
所访问的信息不在内存时,系统自动将其从外存调入内存。
当然,内存中暂时不用的信息也
可调至外存,以腾出内存空间供其它作业使用。
这些操作都由存储管理系统自动实现,不需
用户干预。
对用户而言,只感觉到系统提供了一个大容量的内存,但这样大容量的内存实际
上并不存在,是一种虚拟的存储器,因此把具有这种功能的存储管理技术称为虚拟存储管理。
实现虚拟存储管理的方法有请求页式存储管理和请求段式存储管理。
擁締凤袜备訊顎轮烂蔷。
3.12画图说明请求页式存储管理系统中动态地址重定位及缺页中断的处理过程。
答:
处理过程如下图所示
请求式分页存储管理缺页中断处理过程示意图
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算法,求出在作业分得的内存块数分别为M=4和M=5时,缺页
中断次数和缺页率各为多少?
蜡變黲癟報伥铉锚鈰赘。
答:
M=4FIFO
6
5
4
3
2
1
5
4
3
6
5,4,3,2
1
6,5
6
6
6
6
2
2
2
2
3
3
3
3
5
5
5
5
5
1
1
1
1
6
6
6
6
4
4
4
4
5
5
5
5
2
2
2
3
3
3
3
4
4
4
4
1
1
缺页中断次数:
9
缺页中断率:
9/17
M=4LRU
6
5
4
3
2
1
5
4
3
6
5,4,3,2
1
6
5
6
6
6
6
2
2
2
2
3
3
3
3
3
5
5
5
5
5
1
1
1
1
6
2
2
2
2
4
4
4
4
5
5
5
5
4
4
6
6
3
3
3
3
4
4
4
5
1
1
1
缺页中断次数:
10
缺页中断率:
10/17
M=5FIFO
6
5
4
3
2
1
5,4,3,6
5
4
3
2
1
6
5
6
6
6
6
6
1
1
1
1
1
2
2
2
2
5
5
5
5
5
6
6
6
6
6
1
1
1
4
4
4
4
4
5
5
5
5
5
6
6
3
3
3
3
3
4
4
4
4
4
5
2
2
2
2
2
3
3
3
3
3
缺页中断次数:
9
缺页中断率:
9/17
M=5LRU
6
5
4
3
2
1
5,4,3,6
5,4,3,2
1
6
5
6
6
6
6
6
1
1
2
2
2
2
5
5
5
5
5
5
5
5
6
6
4
4
4
4
4
4
4
4
5
3
3
3
3
3
3
3
3
2
2
6
6
1
1
1
缺页中断次数:
6
缺页中断率:
6/17
3.15请求页式和请求段式存储管理的地址变换过程有什么区别?
答:
请求页式和请求段式存储管理的动态地址变换过程有许多相似之处,但两者有着本
质上的区别。
主要表现在以下几点:
買鯛鴯譖昙膚遙闫撷凄。
1请求分页存储管理的作业地址空间是一个单一的线性地址空间;而分段存储管理的作业地址空间是二维的地址空间。
綾镝鯛駕櫬鹕踪韦辚糴。
2请求分页存储管理中,页的大小是固定的,对于分页活动,用户是不可见的;分段存储管理中,段的大小是不定的,是信息的逻辑单位,用户是可见的。
驅踬髏彦浃绥譎饴憂锦。
3请求分页存储管理中,把程序地址分成页号p和页内位移量w是硬件完成的功能;分段存储管理中,把程序地址分成段号s和段内偏移量d是软件的功能。
猫虿驢绘燈鮒诛髅貺庑。
3.16请求段式存储管理有哪些优点?
答:
请求段式存储管理有如下优点:
1可提供大容量的虚存:
这与请求页式存储管理类似。
一个作业运行时,内存只存放较
少的段。
在作业执行过程中,需要使用某段时再从外存调入;若此时内存无空间,则需进行
段的紧凑或是移出某些段。
锹籁饗迳琐筆襖鸥娅薔。
2允许动态增加段的长度:
对于一个较大的段,开始可以装入其中的一部分。
当程序员
企图向段中增加新的内容或扩大段的长度时,可以动态增加段的长度。
因为段表中有一个增补位,当访问的地址大于段长时便产生越界中断,此时检查增补位,若为1,则可增加段长
度,可通过紧凑或移去一些段的办法来实现。
構氽頑黉碩饨荠龈话骛。
3利用允许动态增长段的特性,容易处理变化的数据结构,比如表格和数据段等。
4便于段的动态链接:
一个作业可能由若干个程序段组成,在采用单一线性地址空间时,
这些程序段要在执行之前完成链接和装配工作,产生出一个完整的连续空间。
这称之为静态链接。
这种工作不仅费时,有时甚至是徒劳的,因为在作业运行过程中,有的程序模块根本未被调用和执行过。
为此,最好是在需要调用某程序段时,再把它链接到作业空间中,这就
是所谓动态链接。
輒峄陽檉簖疖網儂號泶。
5由于请求段式存储管理为用户提供的是二维地址空间,每个程序模块构成独立的分段,有自己的名字,这为实现动态链接提供了基础。
尧侧閆繭絳闕绚勵蜆贅。
6便于实现程序段的共享:
进入内存中的程序段占据内存中的一个连续存储区。
若多个作业要共享它,只需在它们各自的段表中填入该段的起始地址,设置上适当的存取权限即可。
识饒鎂錕缢灩筧嚌俨淒。
7便于实现存储保护:
在段表中规定了段的存取权限和段的长度,超出段长引起越界中断,违反存取权限引起存储保护中断,通过这种方法能防止一个用户作业侵犯另一用户作业,也可以防止对共享程序的破坏。
凍鈹鋨劳臘锴痫婦胫籴。
3.17什么是抖动现象?
它有什么危害?
答:
当发生缺页中断时,如果内存已无空闲块,就要把已在内存的一些页面置换出去。
所谓页面置换算法,就是采取什么办法淘汰掉内存中的某些页为必须进入内存的页面腾出空间的策略。
这一直是人们十分重视的一个问题,因为页面置换算法的优劣直接影响到系统效率。
如果置换算法不当,就有可能出现某些页刚被置换出去又要马上访问的情况,因而又要
将其调回,而调回后不久又要被置换出去,这样不断反复,以致使处理机的大部分时间都消耗在频繁的页面置换上,结果使系统性能急剧下降。
我们把这种现象称为系统抖动。
尽量减少和排除抖动现象的发生,是人们一直追求的目标。
恥諤銪灭萦欢煬鞏鹜錦。
3.18什么是程序的局部性原理?
答:
所谓程序的局部性原理,是指在一段时间内,程序执行过程中往往是集中地访问某一部分内存区域中的指令或数据。
鯊腎鑰诎褳鉀沩懼統庫。
3.19什么是工作集?
答:
所谓工作集,就是程序在某一小段时间内所访问的不同页面的集合。
如果用W(t,△t)
表示从(t-△t)开始到t之间所访问的页面集合,那么W就是作业在时间t上的工作集。
工作集是对程序局部的一个近似模拟,如果我们能找出一个作业的各个工作集,并求出其页面数最大者,就可确定该作业所需内存量,硕癘鄴颃诌攆檸攜驤蔹。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 课后 标准答案