1、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页面置换算法时,假如一个
2、作业的页面走向为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)就是指当内存中已无空闲空间而又发生缺页中断时,需要从内存中调出一页程序或数据送磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入,因此需再选一页调出,而此时
3、被换出的页很快又要被访问,因而又需将它调入,如此频繁更换页面,以致花费大量的时间,我们称这种现象为抖动;b. 产生抖动的原因是由于CPU的利用率和多道程序度的对立统一矛盾关系引起的,为了提高CPU利用率,可提高多道程序度,但单纯提高多道程序度又会造成缺页率的急剧上升,导致CPU的利用率下降,而系统的调度程序又会为了提高CPU利用率而继续提高多道程序度,形成恶性循环,我们称这时的进程是处于抖动状态.【例1】可变分区存储管理系统中,若采用最佳适应分配算法,“空闲区表”中的空闲区可按(A )顺序排列 A、长度递增 B、长度递减 C、地址递增 D、地址递减 分析:最佳适应算法要求每次都分配给用户进程能
4、够满足其要求的空闲区中最小的空闲区,所以为了提高算法效率,我们把所有的空闲区,按其大小以递增的顺序形成一空闲分区链这样,第一个找到的满足要求的空闲区,必然是符合要求中最小的所以本题的答案是A 【例2】虚拟存储技术是(B ) A、扩充主存物理空间技术B、扩充主存逻辑地址空间技术 C、扩充外存空间的技术D、扩充输入/输出缓冲区技术 分析:所谓虚拟存储器,是指仅把作业的一部分装入内存便可运行作业的存储器系统具体地说,所谓虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统实际上,用户所看到的大容量只是一种感觉,是虚的,故称之为虚拟存储器虚拟存储技术是一种性能非常优越
5、的存储器管理技术、故被广泛地应用于大、中、小型机器和微型机中所以本题的答案是B 【例3】很好地解决了“零头”问题的存储管理方法是(A ) A、分页存储管理方式 B、分段存储管理方式C、多重分区管理 D、可变式分区管理 分析:“零头”也就是内存碎片,是指内存中无法被利用的小空闲区在有些内存管理方式下,系统运行一段时间后,内存的碎片会占据相当的数量的空间分段存储管理方式、多重分区管理、可变式分区管理都会因为内存分配回收产生“零头”,而分页存储管理方式,按事先划分好的内存块为单位分配回收内存,所以不会产生“零头”所以本题的答案是A 【例4】系统“抖动”现象的发生是由(B )引起的 A、交换的信息量过
6、大 B、置换算法选择不当C、内存容量不足 D、请求分页管理方案 分析:“抖动”现象是指刚被换出的页很快又要被访问,为此,又要换出其他页,而该页又很快被访问,如此频繁地置换页面,以致大部分时间都花在页面置换上交换的信息量过大,内存容量不足都不是引起系统“抖动”现象的原因,而选择的置换算法不当才是引起“抖动”现象的根本原因,例如,先进先出算法就可能产生“抖动”现象所以本题的答案是B 【例5】虚拟存储管理系统的基础是程序的(C)理论 A、全局性 B、虚拟性 C、局部性 D、动态性 分析:虚拟存储技术是基于程序的局部性原理的,程序的局部性原理体现在两个方面:时间局部性和空间局部性时间局部性是指一条指令
7、被执行后,那么它可能很快会再次被执行,空间局部性是指若某一存储单元被访问,那么与该存储单元相邻的单元可能也会很快被访问所以本题的答案是C 【例6】简述页和段的区别 答:分页和分段有许多相似之处,但是在概念上两者完全不通,主要表现在: 页是信息的物理单位,分页是为了系统管理内存的方便而进行的,故对用户而言,分页是不可见的,是透明的;段是信息的逻辑单位,分段是作业逻辑上的要求,对用户而言,分段是可见的页的大小是固定的,由系统决定;段的大小是不固定的,由用户作业本身决定从用户角度看,分页的地址空间是一维的,而段的地址空间是二维的 【例7】内存保护是否可以完全由软件来实现?为什么? 答:内存保护的主要
8、任务是确保每道程序都只在自己的内存内运行这就要求系统能对每条指令所访问的地址进行越界检查若发生越界,系统应能立即发现,并发出越界中断请求,以终止该指令若每次检查完全用软件来实现,则每执行一条指令,都要增加若干条指令去执行越界的检查功能,这无疑将降低程序的执行速度,因此,越界检查通常由硬件实现,并使指令的执行与越界检查功能并行执行,从而不使程序的运行速度降低当然,对发现有越界后的处理需要与软件配合来完成因此说内存保护功能是由硬件和软件共同完成的 【例8】用可变分区方式管理主存时,假定主存中按地址顺序依次有五个空闲区,空闲区的大小为32K,10K,5K,228K,100K现有五个作业J1,J2,J
9、3,J4和J5它们各需主存11K,10K,108K,28K,115K若采用首次适应分配算法能把这五个作业按J1J5的次序全部装入主存吗?你认为按怎样的次序装入这五个作业可时主存空间的利用率最高? 答:最先适应分配算法能把这五个作业按J1J5的次序全部装入主存时,J1、J2分割第一个空闲区,剩11K;J3、J4分割第四个空闲区,剩92K;J5无法装入,所以用最先适应分配算法不能把这五个作业按J1J5的次序全部装入主存 如果先装入J3,装入第四个空闲区,剩余空间120K;再装入J5,装入第四个空闲区,剩余空间5K;再装入J4,装入第一个空闲区,剩余4K;再装入J1,J1装入第五个空闲区,剩余空间1
10、04K;再装入J2,装入第二个空闲区,这样效率最好 【例9】简述什么是覆盖?什么是交换?覆盖和交换的区别是什么? 答:所谓覆盖,是指同一主存区可以被不同的程序段重复使用通常一个作业由若干个功能上相互独立的程序段组成,作业在一次运行时,也只用到其中的几段,利用这样一个事实,我们就可以让那些不会同时执行的程序段共用同一个主存区 所谓交换,就是系统根据需要把主存中暂时不运行的某个(或某些)作业部分或全部移到外存,而把外存中的某个(或某些)作业移到相应的主存区,并使其投入运行 覆盖技术要求程序员必须把一个程序划分成不同的程序段,并规定好它们的执行和覆盖顺序,操作系统根据程序员提供的覆盖结构来完成程序之
11、间的覆盖覆盖主要在同一个作业或同一个进程内进行;而交换主要是在进程或作业之间进行另外,覆盖只能覆盖那些与覆盖程序段无关的程序段 【例10】对一个将页表放在内存中的分页系统: (1)如果访问内存需要0.2s,有效访问时间为多少? (2)如果增加一个快表,且假定在快表中找到页表项的几率高达90,则有效访问时间又是多少(假定查找快报需花的时间为0)? 分析:每次访问数据时,若不使用快表,则需要两次访问内存,即先从内存的页表中读出页对应的块号,然后再根据形成的物理地址去存取数据;使用快表时,若能从快表中直接找到对应的页表项,则可立即形成物理地址去访问相应的数据,否则,仍需两次访问内存 答:(1)有效访
12、问时间为:20.2=0.4s (2)有效访问时间为:0.90.2+(10.9)20.2=0.22s 【例11】某系统采用分页存储管理方式,拥有逻辑空间32页,每页2K,拥有物理空间1M (1)写出逻辑地址的格式(2)若不考虑访问权限等,进程的页表项有多少项?每项至少有多少位?(3)如果物理空间减少一半,页表结构应相应作怎样的改变? 答:该系统拥有逻辑空间32页,故逻辑地址中页号必须用5位来描述;而每页为2k,因此,页内地址必须用11位来描述,这样可得到它的逻辑地址格式如下: 15 11 10 0 页号页内地址(2)每个进程最多有32个页面,因此,进程的页表项最多为32项;若不考虑访问权限等,则
13、页表项中只需给出页所对应的物理块号,1M的物理空间可分成29个物理块,故每个页表项至少有9位(3)如果物理空间减少一半,则页表中页表项数仍不变,但每项的长度可减少1位 【例12】在分页存储管理系统中,逻辑地址的长度为16位,页面大小为4096字节,现有一逻辑地址为2F6AH,且第0、1、2页依次存放在物理块5、10、11中,问相应的物理地址是多少? 分析:在分页存储管理系统中进行地址转换时,地址变换机构将自动把逻辑地址转化为页号和页内地址,如果页号不小于页表长度,则产生越界中断;否则便以页号为索引去检索页表,从中得到对应的块号,并把块号和页内位移分别送入物理地址寄存器的块号和块内位移字段中,形
14、成物理地址 答:由题目所给条件可知,分页存储管理系统的逻辑地址结构为: 15 12 11 0 页号 页内位移 逻辑地址2F6AH的二进制表示如下: 0010 111101101010 页号 页内位移 由此可知逻辑地址2F6AH的页号为2,小于页表长度3,没有越界,该页存放在第11个物理块中,用十六进制表示块号为B,所以物理地址为BF6AH 【例13】什么是虚拟存储器?如何实现分页虚拟存储管理系统? 答:所谓虚拟存储器,是指仅把作业的一部分装入内存便可运行作业的存储器系统具体地说,所谓虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统 要实现分页虚拟存储管理系
15、统,首先要扩充页表,扩充后的页表是在原来页表的基础上发展起来的,包括以下内容:页号、物理块号、状态位、访问位、修改位、外存地址其中状态位表示该页是否已经调入内存;访问位表示该页在内存期间是否被访问过;修改位表示该页在内存中是否被修改过,若未被修改,则在置换该页时就不需将该页写回到外存,以减少系统的开销和启动磁盘的次数;若已被修改,则在置换该页时必须把该页写回到外存,以保证外存中所保留的始终是最新副本;外存地址用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用另外,还要使用两项关键技术:请求调页技术和页面置换技术 【例14】在分页虚拟存储管理系统中,为什么说一条指令执行期间可能产生多次
16、缺页中断? 答:因分页虚拟管理方式中,只要作业的部分页在内存,该作业就能执行,而在执行过程中发现所要访问的指令或者数据不在内存时,则产生缺页中断,将所需的页面调入内存在分页虚拟存储管理系统中,一条指令(如Copy A to B )可能跨了两个页,而其中要访问的操作数可能也跨了两个页当要执行这类指令,而相应的页都不在内存时,就将产生多次缺页中断(如Copy A to B可能产生6次缺页中断) 【例15】在分页虚拟存储管理系统中,假定系统为某进程分配了四个主存块(将开始4页先装入主存),页的引用顺序为:7,1,2,0,3,0,4,2,3,0,3,2,7,0,1,若采用FIFO调度算法、LRU调度算
17、法时分别产生多少次缺页中断?依次淘汰的页分是什么? 答:按照先进先出算法的原则:当发生缺页中断时,将淘汰最先调入主存的页面: 页号 7 1 2 0 3 0 4 2 3 0 3 2 7 0 主存块的情况 7 7 7 7 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 4 4 4 4 4 4 4 4 2 2 2 2 2 2 2 2 2 2 2 2 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 淘汰页 7 1 2 共发生了3次缺页中断,依次淘汰的页位7、1、2按照最近最少用算法的原则:当发生缺页中断时,后者则淘汰最近一段时面内最久没有被访问的页面 页号 7 1 2
18、0 3 0 4 2 3 0 3 2 7 0 主存块的情况 7 1 2 0 3 0 4 2 3 0 3 2 7 0 1 7 1 2 0 3 0 4 2 3 0 3 2 7 2 2 7 1 2 2 3 0 4 2 2 0 3 2 0 0 0 7 1 1 2 3 0 4 4 4 0 3 淘汰页 7 1 4 发生了3次缺页中断,依次淘汰的页位7、1、4 【例16】现有一分页虚拟存取管理系统,其页表保存在寄存器中若有一个可用的空页或被替换的页未被修改,则它处理一个缺页中断需要8ms如果被替换的页已被修改,则处理一个缺页中断需要20ms内存存取时间为1s假定70被替换的页被修改过,为保证有效存取时间不超过
19、2s,可接受的最大缺页率是多少? 分析:因为页表放在寄存器里,所以访问页表的时间可以忽略不计则存取时间就包括内存存取时间和处理缺页中断的时间 答:如果用P表示缺页率,则有效访问时间不超过2s可表示为: (1-p)1sp(0.720ms0.38ms1s)2s 因此可计算出:p1/164000.00006 2下列(A )存储方式不能实现虚拟存储器 A、分区 B、页式 C、段式 D、段页式 3操作系统处理缺页中断时,选择一种好的调度算法对主存和辅存中的信息进行高效调度尽可能地避免(D ) A、碎片 B、CPU空闲 C、多重中断 D、抖动 4分页式存储管理的主要特点是(C ) A、要求处理缺页中断 B
20、、要求扩充主存容量 C、不要求作业装入到主存的连续区域 D、不要求作业全部同时装人主存 5LRU页面调度算法淘汰(B )的页 A、最近最少使用 B、最近最久未使用 C、最先进入主存 D、将来最久使用 6虚拟存储器实际容量受(B )限制 A、物理主存的大小B、计算机的地址结构 C、磁盘容量 D、数据存放的绝对地址 7分区管理要求对每一个作业都分配(A)的主存单元 A、地址连续 B、若干地址不连续的 C、若干连续的页 D、若干不连续的帧 8页面置换算法中(A )不是基于程序执行的局部性理论 A、先进先出调度算法 B、LRU C、LFU D、最近最不常用调度算法 9在存储管理中,采用覆盖与交换技术的
21、目的是(A) A、节省主存空间 B、物理上扩充主存容量C、提高CPU的效率 D、实现主存共享 10分页虚拟存储管理中,缺页中断时,欲调度一页进入主存中,内存己无空闲块,如何决定淘汰已在主存的块时,(B )的选择是很重要的 A、地址变换 B、页面调度算法 C、对换方式 D、覆盖技术 11动态重定位技术依赖于(B ) A、重定位装入程序 B、重定位寄存器 C、地址结构 D、目标程序 12(D)存储管理兼顾了段式在逻辑上清晰和页式在存储管理上方便的优点 A、分段 B、分页 C、可变分区方式 D、段页式 13在可变分区存储管理中,某作业完成后要收回其主存空间,该空间可能与相邻空闲区合并,修改空闲区表使
22、空闲区始址改变但空闲区数不变的是(C )情况 A、有上邻空闲区也有下邻空闲区 B、有上邻空闲区但无下邻空闲区 C、无上邻空闲区但有下邻空闲区 D、无上邻空闲区且也无下邻空闲区 14可变分区管理中,首次适应分配算法可将空闲区表中的空闲区栏目按(A )顺序排列 A、地址递增 B、长度递增 C、地址递减 D、长度递减 15在固定分区分配中,每个分区的大小是(C ) A、随作业长度变化 B、相同C、可以不同但预先固定D、可以不同但根据作业长度固定 16存储管理主要管理的是( C ) A、外存存储器用户区 B、外存存储器系统区 C、主存储器用户区 D、主存储器系统区 17下述(B )页面置换算法会产生B
23、elady现象 A、最佳置换算法 B、先进先出算法 C、LRU算法 D、Clock算法 18作业执行中发生了缺页中断,经操作系统处理后,应让其执行(C )指令 A、被中断的前一条 B、被中断的后一条 C、被中断的 D、启动时的第一条 19可变分区方式常用的主存分配算法中,(A)总是找到能满足作业要求的最小空闲区分配 A、最佳适应算法 B、首次适应算法 C、最坏适应算法 D、循环首次适应算法 20可变分区方式常用的主存分配算法中,(C)总是找到能满足作业要求的最大空闲区分配 A、最佳适应算法 B、首次适应算法 C、最坏适应算法 D、循环首次适应算法 二、多项选择题 1不需硬件地址转换机构支撑的存
24、储管理方式是(AD ) A、单用户连续方式 B、可变分区方式 C、页式和段式 D、固定分区方式 E、段页式 2可用上下界限寄存器实现存储保护的是(ACE )存储管理 A、分段 B、段页式 C、可变分区 D、分页 E、固定分区 3在下列存储器管理方案中,能实现虚拟存储的是(CD ) A、分区管理 B、分页存储管理C、请求分页存储管理 D、请求分段存储管理 E、段页式存储管理 4在下列算法中,可用于页面置换算法的是(ABE ) A、先进先出算法 B、LRU算法C、优先级高者优先算法 D、时间片轮转法 E、Clock算法 三、填空题 1在存储器管理中,页是信息的物理单位,段是信息的逻辑单位页面大小由
25、系统确定,段的大小由_用户作业本身确定 2将作业地址空间中的逻辑地址转换为主存中的物理地址的过程称为地址转换 3为了解决碎片问题,可采用一种方法,将内存中的所有作业进行移动,使原来分散的多个小分区拼接成一个大分区,这种方法称为紧凑 4覆盖技术的关键是提供正确的覆盖结构 5页表的作用是实现从页号到物理块号的映射 6程序执行的局部性原理体现在时间局部性和空间局部性两个方面 7在分页虚拟存储管理方式中,常采用的页面置换算法有:最佳置换算法,淘汰不再使用或最远的将来才使用的页;先进先出算法,选择淘汰在主存驻留时间最长的页;最近最少使用算法,选择淘汰离当前时刻最近的一段时间内使用得最少的页 8所谓虚拟存
26、储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统 9、可变分区中为提高主存利用率,采用紧凑技术,但这样做花费处理器时间,增加系统开销 11段页式存储管理兼顾了段式在逻辑上清晰和页式存储管理上方便的优点 12页面调度算法的选择是很重要的,如果选用了一个不合适调度算法就会出现这样的现象,刚被淘汰的页面又立即要用,把它调入,不久又被调出,调出不久又再次调入,如此反复,使调度时间非常频繁,以致大部分时间都花费在来回调度上,这种现象叫做抖动,又称颠簸 13页式存储管理中,进行存储分配时,以块为单位进行分配,采用不连续的分配办法,作业信息可以按页分散在主存不连续的主存块中 11 / 11