1、一、选择题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启动时 D装入内存时7在目标程序装入内存时,一次性完成地址修改的方
2、式是( )A 静态重定位 B动态重定位 C静态连接 D动态连接8下列关于缓冲技术描述正确的是( )A以空间换取时间的技术 B以时间换取空间的技术C为了协调 CPU与内存之间的速度 D是为了提高外设的处理速度9可变式分区管理的分配策略中,首次适应算法是按照 ( ) 顺序排列空闲区。A起始地址递减 B起始地址任意 C起始地址递增 D分区大小递增10可变式分区又称为动态分区,它是在系统运行过程中,( )时动态建立的。A在作业装入 B在作业创建 C在作业完成 D在作业未装入11在可变分区存储管理中,将空闲区按照长度递增的顺序排列的分配算法是( )A首次适应算法 B最佳适应算法 C最坏适应算法 D循环首
3、次适应算法12可重定位分区分配中的碎片是( )A磁盘的一小部分 B外存的一小部分C内存中容量小、无法利用的小分区 D内存中的小分区13在分页存储管理系统中,从页号到物理块号的地址映射是通过( )实现的。A段表 B页表 CPCB DJCB14请求分页存储管理中,若把页面尺寸增加一倍,在程序顺序执行时,则一般缺页中断次数会( )。A增加 B减少 C不变 D可能增加也可能减少15页表的作用是实现从页号到物理块号的( )。A逻辑映射 B物理映射 C地址映射 D逻辑地址映射16虚拟存储器的基本特征是:虚拟扩充、部分装入、离散分配和( )A虚拟保护 B虚拟装入 C一次对换 D多次对换17虚拟存储管理策略可
4、以( )。A扩大物理内存容量 B扩大物理外存容量C扩大逻辑内存容量 D扩大逻辑外存容量18虚拟存储器受到的限制有外存的容量和( )。A指令中表示地址的字长 B内存的容量 C硬件的好坏 D以上的观点都对19在页式存储管理中,每当 CPU形成一个有效地址时,要查页表,这工作是由( )实现的。A硬件自动 B操作系统 C查表程序 D存取控制程序20具有虚拟存储功能的管理方法是( )A可变分区存储管理 B请求分页存储管理 C段式存储管理 D段页式存储管理21采用( )不会产生内部碎片A分页存储管理 B分段存储管理 C固定分区存储管 D段页式存储管理22最佳适应算法的空闲区是( )。A按大小递增顺序排列的
5、 B按大小顺序递减排列的C按地址由小到大排列的 D按地址由大到小排列的二、填空题1在采用请求分页式存储管理的系统中,地址变换过程可能会因为 、 和 等原因而产生中断。2存储管理应实现的功能是:主存空间的分配与保护、 、主存的共享和 。3分区存储管理方案不能实现虚拟的原因是 。4在分区分配算法中,首次适应算法倾向于优先利用内存中 部分的空闲分区,从而保留了 部分的大空闲区。5.动态重定位是在目标程序执行过程中,在 CPU访问内存之前,由 来完成将指令或数据的相对地址转换为物理地址的过程。6 把主存储器分成大小相等的许多存储块,每个存储块称为一块,与此对应,程序的逻辑地址也分成大小相同的页,页的大
6、小与块的大小相等。7 必须为每个作业建立一张段表,且对每一段都对应有一张页表。8整体对换对换技术通常以 为单位。9置换算法是在主存中没有 时被调用的,它的目的是选出一个被 的页面,如果内存中有足够的 存放所调入的页,则不必使用 。10虚拟存储器的最大容量取决于 。11系统中刚刚被淘汰的页面在不久之后又要访问,以致整个页面调度非常频繁,辅存一直保持忙的状态,而处理机的有效执行速度很慢,多数进程处于阻塞状态,这种情况叫做 。12某虚拟存储器的用户空间共有 32个页面,每页 1KB,主存 16KB。假定某时刻系统为用户的第 0、1、2、3 页分别分配的物理块号分别为 5、 10、4、7,那么虚地址
7、0A5CH对应的物理地址是 。三、判断题1即使在多道程序环境下,用户也能设计用内存物理地址直接访问内存的程序。( )2在可变分区存储管理方法中,最佳适应法的效果必定优于首次适应法。 ( )3用可变分区法可以比较有效地消除外部碎片,但不能消除内部碎片。 ( )4对于静态重定位方式,作业无法在主存中浮动。 ( )5页式存储管理系统不利于共享和保护。 ( )6页面大小的取值方法对地址变换的速度有影响。 ( )7在现代计算机中,计算机程序、通道程序使用的都是逻辑的地址,因此,必须先进行地址转换才能找到正确的内存地址。 ( )8为了减少内部的碎片,页应偏小为好。 ( )9采用页式存储管理时,要求逻辑地址
8、与物理地址都是连续的。 ( )10决定缺页中断时间的主要因素包括:中断服务时间、交换页面的时间和重起进程的时间。 11在页式虚存系统中,为了提高内存利用率,允许用户使用不同大小的页面。( )12在虚拟存储系统中,操作系统为用户提供了巨大的存储空间。因此,用户地址空间的大小可以不受任何限制。 ( )13在支持虚拟地址空间的操作系统环境下,CPU 能运行比该计算机主存容量还大的程序。( )14在页式虚存系统中,驻留集增大,则页故障数减少。 ( )15在虚拟页式存储系统中,LRU 置换策略总优于 FIFO策略。 ( )16虚拟存储器不是物理上扩大内存空间,而是逻辑上扩充了内存容量。 ( )17虚拟存
9、储空间实际上就是辅存空间。18在请求分页系统中,为了实现请求一页的功能,在页表中必须增加 2个数据项,它们是中断位和访问位。四、例题例 1在一个有 1MB程序可用内存的系统中,如果采用伙伴系统来进行管理分配内存,请画出下列每次事件出现后的内存使用情况图(A 代表进程 A,128K等代表物理起始地址,虚线用于划分每 64k间隔的内存起始位置,内存使用情况请画实线准确分割 ) 进程行为 0k 128k 256k 512k 1024kA 申请 50KB A 64 128 256 512B 申请 150KB A 64 128 B 512C 申请 90KB A 64 C B 512D 申请 130KB
10、A 64 C B D 256E 申请 70KB A 64 C B D E 128D 执行完成 A 64 C B 256 E 128F 申请 120KB A 64 C B 256 E FE 执行完成 A 64 C B 256 128 FA 执行完成 128 C B 256 128 FG 申请 150KB 128 C B G 128 FF 执行完成 128 C B G 256H申请 60KB H 64 C B G 256B 执行完成 H 64 C 256 G 256例 2在动态分区分配方式中,可利用哪些分区分配算法?答:在动态分区分配方式中可用的分配算法有 4种:首次适应算法(PP) 循环首次适应
11、算法。最佳适应算法。 最坏适应算法。例 3在动态分区分配方式中,当回收内存时,可能出现哪几种情况?应怎样处理?答:有 4种情况。回收区与前一个分区相邻接。此时将回收区与前一个分区合并,将前一分区大小加上回收区的大小。回收区与后一个分区相邻接。此时将回收区与后一个分区合并,将后一个回收区的首地址改为回收区的首地址,其大小是二者之和。回收区与前后各一个分区相邻接。将回收区与这两个分区合并,其首地址保留为前一个分区的首地址,大小是三者大小之和,而且将后一个分区的表项删除。回收区不与任何分区相邻接。为回收区分配一个新表项,将回收区的首地址和大小填入其中。例 4 段页式存储系统中,为了获得一条指令或数据
12、,需几次访问内存?分别是那几次?答:在段页式系统中,为了获得一条指令或数据,需三次访问内存。第一次访问,是访问内存中的段表,从中取得页表始址;第二次访问,是访问内存中的页表,从中取出逻辑页面对应的内存物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;第三次访问,才是真正从第二次访问所得的地址中,取出指令或数据。例 5 为什么在分页和分段管理下取一条指令或一个操作数通常需两次访存?如何解决这一问题?答:这是因为用于地址变换的页表或段表也是存放在内存的,为了将 CPU给出的逻辑地址变成物理地址,首先就要访问内存的页表和段表,然后,根据形成的物理地址再取指令或数据,这就要两次访存。解决这一
13、问题的办法是提供一个称之为“快表”的硬件,用以存放当前运行进程的页表或段表的部分内容, “快表 ”的访问时间很快,因此可以节约访问页表和段表的时间。 例 6在具有快表的段页式存储管理方式中,如何实现地址变换?答:系统将有效地址(逻辑地址)中的页号与页表寄存器中的内容比较,若页号太大,表示访问越界,于是产生越界中断;若未出现越界情况,地址变换机构自动地将页号 P送入高速缓存,再确定所需要的页是否在快表(高速缓存 )中。若在则直接读出该页所对应的物理块号,并送物理地址寄存器;若在快表中未找到对应的页表项,需再访问内存中页表,找到后,把从页表中读出的页表项存入快表中的一个寄存器单元中,以取代一个老的
14、、已被认为不再需要的页表项。与此同时,再将有效地址寄存器中的页内地址直接送入物理地址寄存器,从而完成了从有效地址(逻辑地址)到物理地址的转换。例 7实现虚拟存储器系统必须提供哪些硬件和软件?例 8 你学过的存储管理方法有那些?其中那些可以实现虚拟存储器,为什么?答:单一分区、固定分区、可变分区、基本分页、基本分段、基本段页、请求基本分页、请求基本分段、请求基本段页,其中请求基本分页、请求基本分段、请求基本段页可以实现虚拟存储器,因为它们都可以在程序的一部分装入内存时就可以运行。9某系统采用页式(Paging)存储管理策略,拥有逻辑空间 32页,每页 2KB物理空间1MB。(1)写出逻辑地址格式
15、;(2)若不考虑权限位等,进程的页表有多少项(Entry)?每项多少位(Bit)?10在一个分区存储管理系统中,按地址从低到高排列的空闲分区的长度分别是:10KB、4KB、20KB、18KB、7KB、9KB、12KB、15KB。对于下列顺序的段请求:12KB、10KB、15KB、18KB 分别使用首次适应法、最佳适应法、最坏适应法和下次适应法,试说明空间的使用情况。11某操作系统采用可变分区分配存储管理方法,系统占用低地址部分的 126KB。用户区大小为 386KB,且用户区起始地址为 126KB,用空闲分区表管理空闲分区。若分配时采用分配空闲区高地址部分的方案,且初始时用户区的 386KB空
16、间空闲,对下述申请序列;作业 1申请 80KB,作业 2申请 56KB,作业 3申请 120KB,作业 1完成并释放 80KB,作业 3完成并释放 120KB,作业 4申请 156KB,作业 5申请 80KB。试用首次适应算法处理上述作业序列,并回答下列问题:(1)画出作业 1、2、3 进入主存后,主存的分布情况:(2)画出作业 1、3 完成后,主存的分布情况;(3)画出作业 4、5 进入系统后的内存分布情况。12. 某系统采用动态分区分配方式管理内存,内存空间为 640K,高端 40K用来存放操作系统。在内存分配时,系统优先使用空闲区低端的空间。对下列的请求序列:作业 1申请 130K、作业
17、 2申请 60K、作业 3申请 100K、作业 2释放 60K、作业 4申请 200K、作业 3释放 100K、作业 1释放 130K、作业 5申请 140K、作业 6申请 60K、作业 7申请50K、作业 6释放 60K,请分别画图表示出使用首次适应算法和最佳适应算法进行内存分配和回收后内存的实际使用情况。 首次适应算法将空闲区按起始地址递增的次序拉链,而最佳适应算法则将空闲区按分区大小递增的次序拉链。在分配时,它们都是从链首开始顺序查找,直至找到一个足够大的空闲分区为止,然后按作业大小从该分区中划出一块内存空间分配给请求者,余下的分区(如果有的话)仍按上述原则留在空闲分区链中;而在释放时,
18、则需分别按地址递增或大小递增的次序将空闲分区插入空闲分区链,并都需要进行空闲分区的合并。下表给出了使用这两种算法进行上述内存分配和回收的具体过程。首 次 适 应 算 法 最 佳 适 应 算 法动 作 已 分 配 分 区(作 业 , 始 址 , 大 小 )空 闲 分 区(始 址 , 大 小 )已 分 配 分 区(作 业 , 始 址 , 大 小 )空 闲 分 区(始 址 , 大 小 )作 业 1 申 请 130KB 1, 0, 130 130, 470 1, 0, 130 130, 470作 业 2 申 请 60KB 1, 0, 1302, 130, 60190, 410 1, 0, 1302,
19、130, 60190, 410作 业 3 申 请 100KB1, 0, 1302, 130, 603, 190, 100290, 310 1, 0, 1302, 130, 603, 190, 100290, 310作 业 2 释 放 60KB 1, 0, 1303, 190, 100130, 60290, 3101, 0, 1303, 190, 100130, 60290, 310作 业 4 申 请 200KB 1, 0, 1303, 190, 1004, 290, 200130, 60490, 1101, 0, 1303, 190, 1004, 290, 200130, 60490, 110
20、作 业 3 释 放 100KB 1, 0, 130 130, 160 1, 0, 130 490, 1104, 290, 200 490, 110 4, 290, 200 130, 160作 业 1 释 放 130KB 4, 290, 200 0, 290490, 1104, 290, 200 490, 1100, 290作 业 5 申 请 140KB 4, 290, 2005, 0, 140140, 150490, 1104, 290, 2005, 0, 140490, 110140, 150作 业 6 申 请 60KB 4, 290, 2005, 0, 1406, 140, 60200,
21、90490, 1104, 290, 2005, 0, 1406, 490, 60550, 50140, 150作 业 7 申 请 50KB 4, 290, 2005, 0, 1406, 140, 607, 200, 50250, 40490, 1104, 290, 2005, 0, 1406, 490, 607, 550, 50140, 150作 业 6 释 放 60KB 4, 290, 2005, 0, 1407, 200, 50140, 60250, 40490, 1104, 290, 2005, 0, 1407, 550, 50490, 60140, 150使用首次适应算法和最佳适应算法
22、进行上述内存的分配和回收后,内存的实际使用情况分别如下图(a)和(b)所示。13. 已知某分页系统,主存容量为 64K,页面大小为 1K,对一个 4页大的作业,其0、1、2、3 页分别被分配到主存的 2、4、6、7 块中。(1)将十进制的逻辑地址 1023、2500、3500、4500 转换成物理地址。(2)以十进制的逻辑地址 1023为例画出地址变换过程图。答:(1)对上述逻辑地址, 可先计算出它们的页号和页内地址(逻辑地址除以页面大小,得到的商为页号,余数为页内地址),然后通过页表转换成对应的物理地址。 逻辑地址 1023:10231K,得到页号为 0,页内地址为 1023,查页表找到对应
23、的理块号为 2,故物理地址为 2*1K+1023=3071。2500:2500/1K,得到页号为 2,页内地址为 452,查页表找到对应的物理块号为 6,故物理地址为 6*1K+452=6596。逻辑地址 3500:35001K,得到页号为 3,页内地址为 428,查页表找到对应的物理块号为 7,故物理地址为 7*1K+428=7596。逻辑地址 4500:45001K,得到页号为 4,页内地址为 404,因页号不小于页表长度,故产生越界中断。(2)逻辑地址 1023的地址变换过程如下图所示,其中的页表项中没考虑每页的访问权限。14在某段式存储管理系统中,有一作业共 4段,段号分别为 0、1、
24、2、3,段表如下表所示。 试计算逻辑地址0,45 ,1,50,2,60,3,90相应的主存地址。当无法进行地址转换时,应说明产生何种中断(其中方括号中的第一个元素为页号,第二个元素为页内地址,按十进制计算)。段 号 段 长 主 存 起 始 地 址 状 态0 500 1500 01 400 2600 02 120 13 85 380 015某请求页式存储管理,允许用户编程空间为 32个页面(每页 1KB),主存为 16KB。如有一个用户程序有 10页长,且某时刻该用户页面映射表如下表所示。如果程序执行时遇到以下两个虚地址:0AC5H、1AC5H,试计算它们对应的物理地址。虚 页 号 物 理 块
25、号01238741016对下述页面走向:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1当内存块数量为 3时,试问 LRU、FIFO、OPT 三种置换算法的缺页次数各是多少 ?(注意,内存块最初都是空的,凡第一次用到的页面都产生一次缺页。)17考虑一个 460字的程序的下述内存访问序列:10,11,104,170,73,309,185,245,246,434, 458,364。(1)假定页面大小为 100字,试给出页面走向访问串。例如,此题前 5个页面走向访问串为 0,0,1,1,0, 。(2)假定内存中有 200个字可供程序使用,试问采用 FIFO置换的缺页次数
26、是多少?(3)若采用 LRU置换算法,缺页次数是多少?(4)若采用 OPT置换算法,缺页次数是多少?18考虑下面的访问串:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6。假定有 4、5、6 个页块,应用下面的页面替换算法,计算务会出现多少次缺页中断?(注意:所给定的页块初始均为空,因此,首次访问一页时就会发生缺页中断)。(1)LRU(最近最久未使用算法);(2)FIFO(先进先出算法);(3)OPT(最优算法)。练习题参考答案一、选择题1A 2D 3B 4C 5A 6D 7A 8A9C 10A 11B 12. C 13.B 14. B 15. C 16.B17C 18A 19A 20. B 21.B 22. A二、填空题1越界,缺页,访问权限错误 2主存空间地址重定位,主存的扩充3作业地址空间不能超过存储空间 4中、低地址:高地址。5硬件地址映射机构或重定位寄存器6分页存储管理 7.段页式存储管理8进程 9空闲块,淘汰,空闲块, 置换算法10主存与辅存的容量之和 11抖动 12125CH三、判断题1. X 2.X 3. X 4. 5. 6. 7. 8.X 9.X 10.X11.X 12.X 13. 14.X 15.X 16.X 17.X 18.X