收藏 分享(赏)

第三部分操作系统考研复习.ppt

上传人:cjc2202537 文档编号:1041803 上传时间:2018-06-07 格式:PPT 页数:35 大小:590.50KB
下载 相关 举报
第三部分操作系统考研复习.ppt_第1页
第1页 / 共35页
第三部分操作系统考研复习.ppt_第2页
第2页 / 共35页
第三部分操作系统考研复习.ppt_第3页
第3页 / 共35页
第三部分操作系统考研复习.ppt_第4页
第4页 / 共35页
第三部分操作系统考研复习.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、第三部分 内存管理,三、 内存管理 (一) 内存管理基础1.内存管理概念(1)程序装入与链接;(2)逻辑地址与物理地址空间;(3)内存保护。 2.交换与覆盖 3.连续分配管理方式(1)单一连续分配;(2)分区分配。4.非连续分配管理方式 (1)分页管理方式;(2)分段管理方式;(3)段页式管理方式。,(二) 虚拟内存管理1.虚拟内存基本概念 2.请求分页管理方式3.页面置换算法(1)最佳置换算法(OPT);(2)先进先出置换算法(FIFO);(3)最近最少使用置换算法(LRU);(4)时钟置换算法(CLOCK)。 4.页面分配策略5.抖动(1)抖动现象;(2)工作集。6.请求分段管理方式7.请

2、求段页式管理方式,内存管理包括基本内存管理和虚拟内存,是操作系统的核心内容,属必考内容,需要重点掌握。复习要求如下:(1)从操作系统的角度掌握一个程序的执行过程,包括编译、链接到装入执行的完整过程。掌握其中的逻辑地址、物理地址的含义, 静态链接和动态链接的区别,绝对装入和动态装入的差别。(2)掌握交换和覆盖技术的应用。(3)掌握各种连续内存分配的管理方式及其特点。能区分是否有内部碎片和外部碎片。,(4)重点掌握三种连续内存分配方式,即基本分页管理方式、分段管理方式和段页式管理方式,包括内存分配过程,地址转换过程和各个分配方式的特点。(5)重点掌握基本分页管理方式中的逻辑地址结构、页表结构、访问

3、内存的过程和访问内存有效时间的计算过程。(6)掌握快表和多级页表的作用和原理。(7)掌握分页系统和分段系统的区别和联系。(8)掌握虚拟内存的概念和程序局部性原理。,(9)重点掌握三种虚拟内存的分配方式,即请求分页管理方式、请求分段管理方式和请求段页式管理方式,包括内存分配过程、地址转换过程和各个分配方式的特点。(10)重点掌握请求分页管理方式中的逻辑地址结构,页表结构:访内过程和访内时间的计算过程,(11)重点掌握请求分页管理方式中4种页面置换算法及其特点。(12)掌握抖动的概念,了解为什么出现抖动现象。,3.1 内存管理基础1.内存管理概念(1)内存管理的功能分配和回收、地址变换、扩充内存、

4、存储保护(2)应用程序的处理过程链接的方式:静态链接、装入时动态链接、运行时动态链接程序的装入方式:绝对装入、可重定位装入、动态运行装入2.交换与覆盖,3.连续分配的管理方式(1)单一连续分配(2)固定分区分配划分方法、内存分配方式、固定分区的优缺点(3)动态分区分配分区分配算法:首次适应、循环首次适应、最佳适应、最坏适应分区的回收:相邻区域的合并问题拼接技术:分区的存储保护:上、下界寄存器法,基址、限长寄存器法优缺点:,4.非连续分配管理方式(1)基本分页存储管理方式实现思想:基本地址变换机构:具有快表的地址变换机构:两级和多级页表:(2)基本分段存储管理方式实现思想:基本地址变换机构:段的

5、共享和保护:分段和分页的区别:基本分段存储管理优缺点:,(3)基本段页式存储管理方式基本地址变换机构:基本段页式存储管理优缺点:,1.在分页存储管理系统中,逻辑地址的结构长度为18位,其中1117位表示页号,010位表示页内偏移地址。若有一作业的各页依次存入2、3、7号物理块中,试问:(1)主存容量最大可为多少K,分为多少块,每块有多大?(2)逻辑地址1500应在几号页内,对应的物理地址是多少?解:在页表中,有3个页表项,分别为(0,2)、(13)、(2,7)。(1)由于逻辑地址共有18位,所以最大的主存容量为218个字节=256KB。由于采用010为表示页内偏穆量,所以页面的大小 =211。

6、每块大小=页面大=211。则物理块总数=218211=128。(2)逻辑地址A=1500,对应页号=(int)(1500211)=0 页内偏移量W=1500。查找页表可知对应的物理块号为2。所以 对应的物理地址E=2*211+1500=5596。,2. 假设一个分页存储管理系统中具有快表,多数活动页表项都可以存在其中,如果页表存放在内存中,内存访问时间是1s,若快表的命中率为85,则有效访问时间是多少?若快表的命中率为50,则有效访问时间是多少? 解:有效访问时间是指通过逻辑地址访问对应物理地址中的数据所花的时间。有快表时,先查找快表(由于速度很快,所花时间忽略不计),若找到了对应的页表项,取

7、出物理块号并拼成物理地址,再访问内存,只须访问内存1次;若在快表中没有找到,再在页表中查找,需要访问内存2次。若快表的命中率为85:则有效访问时间=2*1s +0-1s*85=1.15s若快表的命中率为50:则有效访问时间=2*1s +0-1s*50=1.5s由于快表的访问时间相对很短若题目中没有给出快表访问时间,通常可以看成快表访问时间为0。,3. 为满足264地址空间的作业运行,采用多级分页存储管理方式,假设页面大小为4KB,在页表中的每个表项要占8个字节,则为了满足系统的分页管理至少应采用多少级页表? 解:页面大=4KB=212字节,每个页表项为8字节=23字节,所以一个页面中可以存放2

8、12/23=29个页表项。设有n层分页,则64位逻辑地址形式为:,其中,页面大小为212字节,所以页内偏移量占12位。剩下 64-12=52位,一个物理块,其中可放下29个表项,所以52/9=6(向上取整数)。,某操作系统采用动态分区存储管理技术。操作系统在低地址占用了100KB的空间,用户区主存从100KB处开始占用512KB。初始时,用户区全部为空闲,分配时截取空闲分区的低地址部分作为己分配区。在执行以下请求、释放操作序列后:请求300KB;请求100KB;释放300KB;请求150KB;请求50KB;请求90KB;回答以下问题: (1)采用首次适应算法时,主存中有哪些空闲分区?画出主存分

9、布图,并指出空闲分区的首地址和大小。 (2)采用最佳适应算法时,主存中有哪些空闲分区?画出主存分布图,并指出空闲分区的首地址和大小。 (3)若随后又要请求80KB,针对上述两种情况产生什么后果?说明为什么问题?,解: (1)采用首次适应算法时产生的空闲分区有:块1(首地址390KB,大小10KB),块2(首地址500KB,大小112KB)。 (2)采用最佳适应算法时产生的空闲分区有:块1(首地址340KB,大小60KB),块2(首地址550KB,大小62KB)。 (3)若随后又要请求80KB,采用首次适应靠法时,由于存在112KB的空闲分区,即块2,则在其中分配空间,这样可以分配。 采用最佳适

10、应算法时,由于块1和块2的空间都不够,所以无法分配。,3.2 虚拟内存管理1.虚拟内存的基本概念(1)引入虚拟内存管理方式的原因时间局限性、空间局限性(2)虚拟存储的定义(3)实现虚拟存储技术的硬件技术外存、内存、地址变换机构(4)常用的虚拟存储技术请求分页、请求分段、请求段页式(5)虚拟存储器的特点离散、多次、对换、虚拟,2. 请求分页管理方式(1)请求分页管理实现思想(2)缺页中断:在执行执行过程中产生的中断(3)地址变换(4)请求分页管理方式的特点3.页面置换算法(1)最佳置换算法(OPT)(2)先进先出置换算法(FIFO)(3)最近最久未使用算法(LRU)(4)时钟置换算法(CLOCK

11、),CLOCK算法是LRU算法的近似算法。CLOCK算法给每个页面设置一个访问位,标识该页最近有没有被访问过,再将内存中的所有页面通过一个指针链接成一个循环队列。 当程序需要访问链表中存在的页面时,该页面的访问位被置为1;否则,若程序要访问的页面在链表中不存在,那就需要淘汰一个内存中的页面,于是一个指针p(称为替换指针)就从上次被淘汰页面的下一个位置开始顺序地去遍历这个循环链表,当指针p指向的页面的访问位为1时,就重新将它置为0,暂不换出,而给该页第二次驻留内存的机会,指针p再向下移动。当指针P所指的页面的访问位为0时,就选择这一页面淘汰;若遍历了一遍链表仍没有找到可以淘汰的页面,则继续遍历下

12、去。由于该算法是循环地检查各页面的使用情况,故称为CLOCK算法。,循环链表存在当前访问页时(访问页在某物理块中) 直接将其访问位改为1,指p不移动(命中后指针不移动);否则 ,若当前P指针指向页面的访问位为0 则淘汰该页,调入新页,将其访问位改为1 , 指针P移到下一个物理块;若当前P指针指向页面的访问位为1 , 则将其访问位改为0, 并移动P指针到下一个物理块。,程序访问某页S,S页在链表中吗?,置S页的访问为位1,指针P指向上次被淘汰的页的下一位置,P指向的页的访问位为1吗?,访问位置0, P移到下页位置,淘汰P指的页,调入新页,P移到下页位置,访问该页,P不移动,在,是,不在,不是,4

13、.页面分配策略(1)物理块的分配策略内存分配策略:固定的和可变的置换策略:全局的和局部的组合成三种:固定分配局部置换、可变分配局部置换、可变分配全局置换(2)页面调入策略:请求调入和预调入(3)从何处调入系统有足够的对换空间:从对换区系统没有足够的对换空间:从文件去(不修改的)UNIX方式:没运行的从文件区,运行的从对换区(4)缺页率,5.抖动现象和工作集(1)Belady现象(2)工作集(3)抖动现象6.请求分段式管理(1)段表机制(2)段表中断机构和地址变换机构(3)分段的共享和保护越界检查、存取控制检查、环保护机构7.请求段页式管理方式,7. 某计算机的逻辑地址空间和物理地址空间均为64

14、K,按字节编址。若某进程最多需要6页数据存储空间,页的大小为1KB。操作系统采用固定分配局部置换策略为此进程分4个页框(Page Frame),如表331所示。,当该进程执行到260时刻时,要访问逻辑地址为17CAH的数据,请回答下列问题:(1)该逻辑地址对应的页号是多少?(2)若采用先进先出(FIFO)置换算法,该逻辑地址对应的物珲理地址是多少?要求给出计算过程。(3)若采用时钟(CLOCK)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。(设搜索下一页的指针沿顺时针方向移动,且当前指向2号页框,如图3 34所示)。,解:(1)因为17ACH=(0001 0111 1100101

15、0)2,由于采用固定分配局部置换策略,所以该进程只能占用4个贞框。页大小为IKB=210B,所以页内偏移量为10位,于是前6位为页号,对应的页号为5。(2)页面走向是:0、3、2、1、5。采用FIFO置换算法时的页面置换情况如表3。32所示(需要替换装入时间最早的页面),从中看到被置换的页面所在的页框为7,所以17ACH对应的物理地址为(000111 11 1100 10l0)2=1FCAH。(3)根据CLOCK算法,如果当前指针所指页框的使用位为0,则替换该页;否则将使用位清零,并将指针指向下一个页框,继续查找。根据题设和示意图,将从2号页框开始,前4次查找页框的顺序为2479,并将对应页框

16、的使用位清零。在第5次查找中,指针指向2号页框,因2号页框的使用位为0,故淘汰2号页框对应的2号页面,把5号页面装入2号页框巾,并将对应使用位设置为1,所以对应的物理地址为0001011 11001010B,换算成十六进制为0BCAH。,和基本分页管理方式不同,在请求分页管理方式中有效内存访问时间还要考虑缺页中断处理时间。归纳起来,简化的请求分页访内过程如图331所示,其中方框表示的操作都要花费访问时间。,8.某请求分页管理系统中,页表保存在寄存器中。若有一个可用的空页或被置换的页未修改,则它处理一个缺页中断需要8ms(1ms=106ns);若被置换的页已被修改,则处理一缺页中断因增加写回外存

17、时间而需要20ms,一次内存的存取时间为1ns。假设70被置换的页被修改过,为保证有效访问时间不超过12ns,可接受的最大缺页率是多少? 解:设缺页率为f,缺页中断处理的平均时间=8*(1- 70)+20*70=164ms。 有效访问时间=t+f(t1+t)+(1-f)t=1+f(16.4*106+1)十(1-f)*1=2+16400000f。 依题意:2+16400000f12,则f=116400000=0.0000061。,题:对于一个使用快表的请求分页存储管理系统,设快表的命中率为70(访问快表的时间忽略不计), 一次内存的存取时间是1ns。缺页处理时,若内存有可用空间或被置换的页面在内

18、存中未被修改过,则处理一个缺页中断需要8000ns,否则需要20000ns。假定被置换的页面60是属于后一种情况,则为了保证有效访问时间不超过2ns,求可接受的最大缺页率是多少?,解:设可接受的最大缺页率为f。本题中, =0,=70,t=1ns, =60,ta=20000ns,tb=8000t。缺页处理时间:t1=*ta +(1-)*tb=60%*20000+(1-60%) +8000 =1520ns;EAT= +t+(1-)(t+f(t1+t)+(1-f)(+t)= t+(1-)t+f(t1+t)+(1-f)t =70%*1+(1-70%)*(2*1+15200f)=1.3+4560f若1.

19、3+4560f=2 则 f=0.7/4560=0.015%,题: 某系统使用分页式的存储管理,通过查找联想寄存器访问己换入的内存区域需要花150ns。如果必须使用主存页表,其访问时间为400ns。如果要替换的页已经修改,则导致中断的访问时间为8ms,否则只要3ms。如果缺页率为2,联想寄存器的命中率为70,且50的替换页都要修改过的,求有效访问时间。,11. 某请求分页系统中,整数占4B,页的大小为256B,使用LRU页面替换算法,每个进程分配3个物理块。一个进程执行以下代码:Int a=new int200200;Int i=0;Int j=0;While(i+200) J=0; While

20、(j+200) Aij=0; 其中数组a是按行优先顺序存放。这段代码占用第0页,由于每条指令都访问第0页,第0页总是被装入。变量i和j都存放在寄存器中。回答以下问题: (1)假设数组的所有元素都存放在连续的内存区域中,那么数组需要多少页? (2)这个程序将产生多少个缺页?,解:(1)数组a有200*200=40000个元素,每个元素需要4B的存储空间,总共需要的存储空间=40000*4B=160000B,共占用的页数=160000B/256B=625页。 (2)程序按数组元素的存储顺序访问数组,数组元素的访问顺序为: a00,a01 a0 199 a10,a11 a1 199 a1990,a1991 a199 199 在处理a00 a0 199的元素时,先将a00 a0 63 (占64*4B=256B)放入物理块0中,再将a064a0127(占64*4B=256B)放入物理块1中,a0128a0191(占64*4B=256B)放入物理块2中,每装入一页便进行元素赋值0的运算。由于LRU置换算法是选择最近最久未使用的页面予以淘汰,当再给a0192)及以后的元素赋值时,便将a00 a0 63这一页淘汰,调入新的页面。如此这样,共产生625次缺页,发生622次页面替换。,

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

当前位置:首页 > 高等教育 > 教育学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报