[自考类试卷]全国自考操作系统(存储管理)模拟试卷3及答案与解析.doc

上传人:orderah291 文档编号:912809 上传时间:2019-02-28 格式:DOC 页数:14 大小:44.50KB
下载 相关 举报
[自考类试卷]全国自考操作系统(存储管理)模拟试卷3及答案与解析.doc_第1页
第1页 / 共14页
[自考类试卷]全国自考操作系统(存储管理)模拟试卷3及答案与解析.doc_第2页
第2页 / 共14页
[自考类试卷]全国自考操作系统(存储管理)模拟试卷3及答案与解析.doc_第3页
第3页 / 共14页
[自考类试卷]全国自考操作系统(存储管理)模拟试卷3及答案与解析.doc_第4页
第4页 / 共14页
[自考类试卷]全国自考操作系统(存储管理)模拟试卷3及答案与解析.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、全国自考操作系统(存储管理)模拟试卷 3 及答案与解析一、单项选择题1 装入到地址寄存器的地址为_。(A)符号名地址(B)虚拟地址(C)相对地址(D)物理地址2 静态地址重定位的结果是得到_。(A)源程序(B)静态代码(C)目标代码(D)执行代码3 采用动态重定位技术优点之一是_。(A)在程序执行期间可动态地变换映像在内存空间的地址(B)程序在执行前就可决定装入内存的地址(C)能用软件实施地址变换(D)动态重定位的程序占用的内存资源较少4 在可变分区存储管理中,回收一个空闲区后,空闲区管理表中不可能_。(A)增加一个表项(B)减少一个表项(C)表项数不变(D)表项内容不变5 在可变分区式存储管

2、理中,倾向于优先使用低地址部分空闲区的算法是_。(A)首次适应法(B)循环首次适应法(C)最佳适应法(D)最差适应法6 采用覆盖技术的目的是_。(A)能运行更多的程序(B)能运行更大的程序(C)实现分时系统(D)实现虚拟存储技术7 虚拟存储器的最大极限容量_。(A)由外存大小决定(B)由指令的地址长度决定(C)由用户定义(D)由目标程序的大小决定8 _存储管理方式提供一维地址结构。(A)虚拟(B)段式(C)页式(D)段页式9 有时分配页面多,反而有可能产生更多的缺页中断的页面淘汰算法是_。(A)最优淘汰算法(OPT)(B)先进先出淘汰算法(FIFO)(C)最近最少使用淘汰算法(LRU)(D)最

3、近未使用淘汰算法(NUR)10 在分页系统中,程序员编写的程序的虚地址空间是_的。(A)连续(B)不连续(C)分块(D)分段11 在段式虚存管理系统中,分段是由_完成的。(A)程序员(B)编译程序(C)连接装入程序(D)操作系统12 不会产生“ 内零头” 的存储管理方法是 _存储管理。(A)单一连续区(B)可变分(C)页式(D)段页式二、填空题13 源程序的名地址与目标程序的逻辑地址的转换是在_过程中实施的。14 在系统初始化时就把存储空间划分成若干个分区的存储管理系统称为_管理系统。15 在页式管理中,页表的作用是实现从_到_的地址映射。16 选择淘汰不再使用的页或最远的将来才使用的页面淘汰

4、算法是_淘汰算法。17 设访问页面流为 1、3、2、4、1、2,工作集大小为 3,采用 LRU 算法时,会发生_次页故障。18 在段页式存储管理系统中,面向用户的地址空间是_,面向物理实现的地址空间是_。三、简答题19 简述固定分区存储管理的基本思想。20 简述可变分区存储管理中的最佳适应算法的分配算法和释放算法。21 什么是内部碎片和外部碎片?各种主要的存储管理方法可能产生何种碎片?22 一个计算机系统的虚拟存储器的最大容量和实际容量分别由什么决定?23 说明请求分页式系统中几种常用淘汰算法的基本思想。24 为何采用多级页表来描述虚拟地址空间与虚拟内存空间的映射?这种实行方法的好处与代价是什

5、么?四、综合题25 编写一个 C 程序,用 char*malloc(unsigned size)函数向系统申请一块内存空间(如 size=1000,单位为字节),用首次适应法addr=(char *)fmalloc(unsigned slze)和ffree(unsigned size,char*addr)模拟 UNIX 的可变分区内存管理,实现对该内存区的分配和释放管理。空闲存储区表可采用结构数组的形式:struct mapunsigned m_size;char*m addr;struct map coremapN;要分配函数 fmalloc 的参数 size 和释放函数 ffree 的参数

6、 size、addr 以键盘命令的形式输入,每次分配和释放后显示空闲存储区表。将上面的程序改成用最佳适应法实现对内存区的分配和释放管理。五、判断题26 采用动态重定位技术的系统,目标程序可以不经任何改动,直接装入物理内存。( )(A)正确(B)错误27 段式存储管理要求为作业分配一个连续的内存空间。( )(A)正确(B)错误28 释放和合并空闲内存页时,采用位图比采用空闲栈或链表快。( )(A)正确(B)错误全国自考操作系统(存储管理)模拟试卷 3 答案与解析一、单项选择题1 【正确答案】 D【知识模块】 存储管理2 【正确答案】 D【知识模块】 存储管理3 【正确答案】 A【试题解析】 在采

7、用动态重定位技术的操作系统中,装入内存的执行程序使用的是相对地址,在执行时再由硬件结构变换地址,因此在装入和变换在映像内存空间的地址时,不必修改指令和变量的有关地址部分的值,所花费的时间就少得多。【知识模块】 存储管理4 【正确答案】 D【试题解析】 在可变分区存储管理中,回收一个空闲区时,释放区与原空闲区相邻情况共有 4 种。如释放区与前空闲区或释放区与后空闲区相连,空闲存储区表表项数不变;当与前、后空闲区皆不相连时,表项数加 1;当与前空闲区和后空闲区都相连,将三块空闲区合并成一块空闲区,减少一个表项。以上情况都至少会修改一个表项,所以不可能发生表项内容不变的情况。【知识模块】 存储管理5

8、 【正确答案】 A【知识模块】 存储管理6 【正确答案】 B【知识模块】 存储管理7 【正确答案】 B【知识模块】 存储管理8 【正确答案】 C【知识模块】 存储管理9 【正确答案】 B【试题解析】 只有先进先出淘汰算法具有“BIBO 异常”现象,也即在某一页面流的情况下,有时分配给一个作业的页架数多,作业运行时发生缺页中断的次数也多,形成了刚被调出的页面又立即被装入的频繁装入调出现象。【知识模块】 存储管理10 【正确答案】 A【试题解析】 程序员编写的程序的虚地址空间是按逻辑地址顺序编址,但相邻的虚页可以分散地装入到内存中的实页中。【知识模块】 存储管理11 【正确答案】 A【试题解析】

9、在大型软件开发中,程序员需要根据软件功能的逻辑结构将程序分成各个模块,如各个 C 程序模块。每一个 C 模块经独立编译后,对应于每一个段。【知识模块】 存储管理12 【正确答案】 B【试题解析】 采用可变分区管理算法,需要多少,系统就分配多少内存,所以在被分配到的内存中就没有剩余的内零头。在分页系统中,如果需要分配的内存大小不是整数页,那么最后一页就会有内零头。段页式在每一个段中都可能有一个页内零头。【知识模块】 存储管理二、填空题13 【正确答案】 编译【知识模块】 存储管理14 【正确答案】 固定分区【知识模块】 存储管理15 【正确答案】 虚页号、物理块号【知识模块】 存储管理16 【正

10、确答案】 最优(OPA)【知识模块】 存储管理17 【正确答案】 5【知识模块】 存储管理18 【正确答案】 段式划分、页式划分【知识模块】 存储管理三、简答题19 【正确答案】 固定分区管理系统在系统初始化时就把存储空间划分成若干个分区,这些分区的大小可以不同,以支持不同的作业对内存大小需求的不同。系统要建立一个分区说明表,用以记录每个分区的大小、起始地址和状态等信息。当一个作业需要装入内存运行时,系统就从分区表中找出一个最合适的分区分配给该作业。【知识模块】 存储管理20 【正确答案】 采用最佳适应算法,空闲存储区管理表的组织方法可以采用顺序结构,也可采用链接结构。如采用顺序结构,空闲分区

11、按地址由小到大的顺序登记在表中,分配时需要搜索所有的空闲分区,以在其中挑出一个满足分配需求的最小分区。此种管理结构的释放算法可采用顺序结构的首次适应法。当采用链接结构时,空闲区可按由小到大的非递减次序排列。分配时总是从最小的第一项开始,这样第一次找到的满足条件的空闲区必定是最合适的。采用按存储区大小排序的链接表会降低释放算法的效率。由于空闲区是按大小而不是按地址序排序的,因此释放回收空闲区时要在整个链表上寻找地址相邻的前、后空闲区,合并后又要插入到合适的位置,因此释放算法比首次适应法和循环首次适应法耗时得多。【知识模块】 存储管理21 【正确答案】 当一个程序分配到比它所要求的更大的内存块时,

12、剩余的空间没有利用,而其他程序也不能使用该内存空间,这就是内部碎片。 另一方面,在各个被分配出去的分区之间也会存在很多小的空闲区,其他程序很难利用该小内存空间,这就是“ 外部碎片” 。 固定分区存储管理会产生内部的剩余碎片。在可变分区管理算法中,系统按照程序的申请大小分配内存,不会产生内部碎片,但在各个已分配出去的内存分区之间会留下一些小的分区,由于作业在主存要占用一个连续的存储区,当一个作业的程序空间大于主存中这些小的空闲存储区时,就不能装入运行,会产生外部碎片。 在分页存储管理中,内存划分为与程序虚页相同大小的块,程序的虚页可以占用主存中任意的内存块,故不会产生外部碎片,但程序所要求的内存

13、不一定是整数块,最后一块可能没有全部利用,就会产生内部碎片,但内部碎片较小,平均来说只有半块大小。在纯段式管理系统中,作业需要分配一块连续的内存,与可变分区管理算法一样,会产生外部碎片。 在段页式存储管理系统中,由于段内再分为页,故与页式存储管理系统类似,但每一个段内都会产生一个页内碎片。 在 Linux 的伙伴存储管理系统中,由于系统只能按 2i 个内存块分配给作业,故会产生较大的内部碎片。【知识模块】 存储管理22 【正确答案】 采用虚拟存储器技术可运行程序的大小受到以下两个条件的限制。(1)指令地址字长的限制。地址字长决定了程序所能访问的虚拟地址空间的大小,如对于 32 位字长的地址字可

14、构成 4GB 的虚拟地址空间。这是硬限制,如程序大小超过了指令地址字长,就只能换一台字长更大的机器。(2)存放程序指令和数据的外存储器的大小,即交换区大小的限制。这是软限制,因为可以通过换一个或买一个容量更大的硬盘来提高虚拟存储器的实际容量。故虚拟存储器的最大容量受指令地址字长的限制,虚拟存储器的实际容量略小于内存与外存(盘交换区) 的大小之和。【知识模块】 存储管理23 【正确答案】 在请求分页式系统中,常用淘汰算法有以下几种。(1)最优淘汰算法(0PA):淘汰那些从当前时刻起在页面流中不再出现的页,如没有这类页,则淘汰一个在页面流中最晚出现的页。由于该算法最大限度地推迟了调出的页再调回主存

15、的时间,显然可使页面调入调出的次数达到最小。尽管最优算法是十分诱人的,但由于系统无法预先知道一个作业未来访问页面的情况,故严格意义上的“最优”算法在实际上是无法实现的。不过,最优算法可以作为理论上的评价标准,用以鉴别其他淘汰算法的优劣。(2)先进先出淘汰算法(BIBO) :总是淘汰最早调入主存的页面,因为一般可以认为,近期调入的页再次访问的可能性要比早期调入的页大。该算法也很容易实现,可采用一个先进先出的队列,新调入的页进入队尾,淘汰的页从队首取出。(3)最近最少使用淘汰算法(LRU) :淘汰访问频率最低的页面。这样的算法实现起来空间和时间的代价都比较大。实际上,很多系统都将该算法实现为淘汰“

16、最近一段时间内最久没有访问” 过的页,即类似最近未使用淘汰算法(NUR),淘汰最近一段时间内未曾访问过的某一页面。该算法的一个实施不仅能考虑最近未曾访问过的页,还能优先挑选页面数据未曾修改过的页,这样可减少将淘汰页写回辅存的开销。【知识模块】 存储管理24 【正确答案】 如果采用一级页表,在字长为 32 位、页长为 4KB(12 位二进制)的计算机上,页表的长度就有 2 加,页表就要占用很大的内存。 采用分为页目录和页表的二级页表,它们的表长都各为 1024(10 位二进制),这样只要页目录和一个页表,也即将 1024 个表项+1024 个表项驻在内存就行,而不必像采用一级页表时需要 1024

17、1024(220)个表项驻在内存。 对于字长更长的计算机,就要采用 2 级以上的多级页表。 这种实行方法的代价增加了访问页表的总时间,是以时间换空间的方法。【知识模块】 存储管理四、综合题25 【正确答案】 最佳适应算法就是在所有大于或等于要求分配长度的空闲分区中挑选一个最小的分区,即该分区对所要求分配的大小来说,是最适合的。在分割后,所余下的剩余存储区最小或等于零。空闲存储区管理表的组织方法可以采用顺序结构,也可采用链接结构。如采用顺序结构,空闲分区按地址由小到大的顺序登记在表中。当空闲分区表中没有与申请大小正好相等的空闲分区时,分配时需要搜索所有的空闲分区,以在其中挑出一个满足分配大小的最

18、小的分区。此种管理结构的释放算法与顺序结构的首次适应法相同。当采用链接结构时,空闲区可按由小到大的非递减次序排列。分配时总是从最小的第一项开始,这样第一次找到的满足条件的空闲区必定是最合适的。采用按存储区大小排序的链接表会降低释放算法的效率。由于空闲区是按大小而不是按地址序号排序的,因此释放回收空闲区时要在整个链表上寻找地址相邻的前、后空闲区,合并后又要插入到合适的位置,因此释放算法比前首次适应算法耗时得多,故最佳适应算法采用链接结构时没有优势。因此本程序采用顺序结构,空闲分区按地址由小到大的顺序登记在表中。空闲存储区表采用结构数组的形式:struct mapunsigned m_size;c

19、har*m_addr;struct map coremap N;在程序清单 13-2 的 best_fitc 中分配函数 bmalloc 的参数 size 和释放函数 bfree 的参数 size、addr 以键盘命令的形式输入,每次分配和释放后显示空闲存储区表。程序清单 13-2:best_fit c#includestdlib h#includeunistdh#includestdioh#includemalloch*表的定义*#define N 5#define MAXINA 65535struct map*空闲存储区表*unsigned m_size;char*m_addr;struc

20、t map coremapN;*最佳适应的分配函数*char*bmalloc(unsigned size)*由于本函数只管理内存空间的分配,就不需要核代码的 mp 参数*register char*a;register struct map*bp,*min_bp;register unsigned min_size;min_bp=NULL;min_size=MAXINA;for(bp=coremap;bp- m_size;bp+)*从表首开始搜索*if(bp-m-size=size)*找到相等的空闲区*a=bp-m_addr;*空闲区始址*do* 该项空闲区全部被分配,删去该项*bp+;(bp

21、-1)-m_addr=bp-m_addr;while(bp-1)-m_size=bp-m_size) ;return(a);*返回分配到的空闲区始址 *elseif(bp-m_sizesize)*如该项空闲区大于申请的 size*if(bp-m_sizemin_size)*且该项空闲区小于当前已获得的最小空闲区 size*min_size=bp-m_size;*记住该空闲区 size*min_bp=bp; *记住该空闲区表项地址*if(min_bp!=NULL)*如找到了最小可用存储区* a=min_bp- m_addr;*空闲区始址*min_bp-m_addr+=size;*修改表项*min

22、_bp-m_size-=size ;return(a);*返回分配到的空闲区始址 *return(0); *无足够大小的空闲区 *最佳适应算法的释放函数同首次适应法,主程序和其他辅助函数也类同首次适应法,在这儿就省略了。测试数据除了要体现最佳适应算法的思想外,其他也类同首次适应法。【知识模块】 存储管理五、判断题26 【正确答案】 A【知识模块】 存储管理27 【正确答案】 B【试题解析】 在段式存储管理中,每一个段要分配一个连续的内存空间,但一个作业可有多个段,各个段不必分配一个连续性内存空间。【知识模块】 存储管理28 【正确答案】 A【试题解析】 在位图上很容易判断释放页的上邻和下邻页是否空闲,故合并空闲内存页时只要经过两步或数步的判断。在链表上相邻的节点所记录的页地址是不连续的,故要遍历整个链表才能找到释放页的上邻和下邻页。【知识模块】 存储管理

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试资料 > 大学考试

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1