操作系统存储管理试卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、某虚拟存储器的用户空间共有32个页面,每页1KB,主存16KB. 假定某时刻为用户的第0,1,2,3页分别分配的物理块号为5,10,4,7,试将虚拟地址0A5C和093C变换为物理地址.
a.将0A5C变换为2进制为: 0000,1010,0101,1100,由于页面大小为1KB约为2的10次方,
所以0A5C的页号为2,对应的物理块号为:4,所以虚拟地址0A5C的物理地址为125C; b.将093C变换为2进制为: 0000,1001,0011,1100,页号也为2,对应的物理块号也为4,
此时虚拟地址093C的物理地址为113C.
2、在一个请求分页系统中,采用LRU页面置换算法时,假如一个作业的页面走向为4,3,2,1,4,3,5,4,3,2,1,5,当分配给该作业的物理块数M分别为3和4时,试计算访问过程中所发生的缺页次数和缺页率?比较所得结果?
答案:
a.当分配给该作业的物理块数M为3时,所发生的缺页率为7,缺页率为: 7/12=0.583;
b. 当分配给该作业的物理块数M为4时,所发生的缺页率为4,缺页率为: 4/12=0.333.
3、什么是抖动? 产生抖动的原因是什么?
a. 抖动(Thrashing)就是指当内存中已无空闲空间而又发生缺页中断时,需要从内存中调出一页程序或数据送磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入,因此需再选一页调出,而此时被换出的页很快又要被访问,因而又需将它调入,如此频繁更换页面,以致花费大量的时间,我们称这种现象为"抖动";
b. 产生抖动的原因是由于CPU的利用率和多道程序度的对立统一矛盾关系引起的,为了提高CPU利用率,可提高多道程序度,但单纯提高多道程序度又会造成缺页率的急剧上升,导致CPU的利用率下降,而系统的调度程序又会为了提高CPU利用率而继续提高多道程序度,形成恶性循环,我们称这时的进程是处于"抖动"状态.
【例1】可变分区存储管理系统中,若采用最佳适应分配算法,“空闲区表”中的空闲区可按(A )顺序排列
A、长度递增
B、长度递减
C、地址递增
D、地址递减
分析:最佳适应算法要求每次都分配给用户进程能够满足其要求的空闲区中最小的空闲区,所以为了提高算法效率,我们把所有的空闲区,按其大小以递增的顺序形成一空闲分区链这样,第一个找到的满足要求的空闲区,必然是符合要求中最小的所以本题的答案是A
【例2】虚拟存储技术是(B )
A、扩充主存物理空间技术
B、扩充主存逻辑地址空间技术
C、扩充外存空间的技术
D、扩充输入/输出缓冲区技术
分析:所谓虚拟存储器,是指仅把作业的一部分装入内存便可运行作业的存储器系统具体地说,所谓虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统实际上,用户所看到的大容量只是一种感觉,是虚的,故称之为虚拟存储器虚拟存储技术是一种性能非常优越的存储器管理技术、故被广泛地应用于大、中、小型机器和微型机中所以本题的答案是B
【例3】很好地解决了“零头”问题的存储管理方法是(A )
A、分页存储管理方式
B、分段存储管理方式
C、多重分区管理
D、可变式分区管理
分析:“零头”也就是内存碎片,是指内存中无法被利用的小空闲区在有些内存管理方式下,系统运行一段时间后,内存的碎片会占据相当的数量的空间分段存储管理方式、多重分区管理、可变式分区管理都会因为内存分配回收产生“零头”,而分页存储管理方式,按事先划分好的内存块为单位分配回收内存,所以不会产生“零头”所以本题的答案是A
【例4】系统“抖动”现象的发生是由(B )引起的
A、交换的信息量过大
B、置换算法选择不当
C、内存容量不足
D、请求分页管理方案
分析:“抖动”现象是指刚被换出的页很快又要被访问,为此,又要换出其他页,而该页又很快被访问,如此频繁地置换页面,以致大部分时间都花在页面置换上交换的信息量过大,内存容量不足都不是引起系统“抖动”现象的原因,而选择的置换算法不当才是引起“抖动”现象的根本原因,例如,先进先出算法就可能产生“抖动”现象所以本题的答案是B
【例5】虚拟存储管理系统的基础是程序的(C)理论
A、全局性
B、虚拟性
C、局部性
D、动态性
分析:虚拟存储技术是基于程序的局部性原理的,程序的局部性原理体现在两个方面:时间局部性和空间局部性时间局部性是指一条指令被执行后,那么它可能很快会再次被执行,空间局部性是指若某一存储单元被访问,那么与该存储单元相邻的单元可能也会很快被访问所以本题的答案是C
【例6】简述页和段的区别
答:分页和分段有许多相似之处,但是在概念上两者完全不通,主要表现在:
①页是信息的物理单位,分页是为了系统管理内存的方便而进行的,故对用户而言,分页是不可见的,是透明的;段是信息的逻辑单位,分段是作业逻辑上
的要求,对用户而言,分段是可见的②页的大小是固定的,由系统决定;段的大小是不固定的,由用户作业本身决定③从用户角度看,分页的地址空间是一维的,而段的地址空间是二维的
【例7】内存保护是否可以完全由软件来实现?为什么?
答:内存保护的主要任务是确保每道程序都只在自己的内存内运行这就要求系统能对每条指令所访问的地址进行越界检查若发生越界,系统应能立即发现,并发出越界中断请求,以终止该指令若每次检查完全用软件来实现,则每执行一条指令,都要增加若干条指令去执行越界的检查功能,这无疑将降低程序的执行速度,因此,越界检查通常由硬件实现,并使指令的执行与越界检查功能并行执行,从而不使程序的运行速度降低当然,对发现有越界后的处理需要与软件配合来完成因此说内存保护功能是由硬件和软件共同完成的
【例8】用可变分区方式管理主存时,假定主存中按地址顺序依次有五个空闲区,空闲区的大小为32K,10K,5K,228K,100K现有五个作业J1,J2,J3,J4和J5它们各需主存11K,10K,108K,28K,115K若采用首次适应分配算法能把这五个作业按J1~J5的次序全部装入主存吗?你认为按怎样的次序装入这五个作业可时主存空间的利用率最高?
答:最先适应分配算法能把这五个作业按J1~J5的次序全部装入主存时,J1、J2分割第一个空闲区,剩11K;J3、J4分割第四个空闲区,剩92K;J5无法装入,所以用最先适应分配算法不能把这五个作业按J1~J5的次序全部装入主存
如果先装入J3,装入第四个空闲区,剩余空间120K;再装入J5,装入第四个空闲区,剩余空间5K;再装入J4,装入第一个空闲区,剩余4K;再装入J1,J1装入第五个空闲区,剩余空间104K;再装入J2,装入第二个空闲区,这样效率最好
【例9】简述什么是覆盖?什么是交换?覆盖和交换的区别是什么?
答:所谓覆盖,是指同一主存区可以被不同的程序段重复使用通常一个作业由若干个功能上相互独立的程序段组成,作业在一次运行时,也只用到其中的几段,利用这样一个事实,我们就可以让那些不会同时执行的程序段共用同一个主存区
所谓交换,就是系统根据需要把主存中暂时不运行的某个(或某些)作业部分或全部移到外存,而把外存中的某个(或某些)作业移到相应的主存区,并使其投入运行
覆盖技术要求程序员必须把一个程序划分成不同的程序段,并规定好它们的执行和覆盖顺序,操作系统根据程序员提供的覆盖结构来完成程序之间的覆盖覆盖主要在同一个作业或同一个进程内进行;而交换主要是在进程或作业之间进行另外,覆盖只能覆盖那些与覆盖程序段无关的程序段