欢迎来到天天文库
浏览记录
ID:52312732
大小:971.56 KB
页数:71页
时间:2020-04-04
《操作系统虚拟内存.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、内容提要虚存技术的引入和虚拟存储器的定义、特征虚拟存储器的实现请求分页请求分段内容提要虚存技术的引入和虚拟存储器的定义、特征虚拟存储器的实现请求分页请求分段需求指令必须被装载到内存中运行上一讲的解决方案ToplacetheentirelogicaladdressinphysicalmemoryOverlays(覆盖)DynamicloadingDynamiclinking然而有的作业很大;作业个数很多若从物理上扩展内存,代价太高思路:从逻辑上扩展内存虚存技术的引入程序的局部性原理,1968,Denning时间局部性、空间局部性思路
2、:部分装入、按需装入、置换虚拟存储器:是指具有请求调度功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统逻辑容量:从系统角度看:内存容量+外存容量从进程角度看:地址总线宽度范围内;内存容量+外存容量运行速度:接近内存每位成本:接近外存VirtualmemorydiagramSomepagesinmemory,Somepagesindisk虚拟存储器的特征多次性:最重要的特征一个作业被分成多次装入内存运行对换性允许在进程运行的过程中,(部分)换入换出虚拟性逻辑上的扩充虚拟性是以多次性和对换性为基础的。多次性和对换性是建
3、立在离散分配的基础上的内容提要虚存技术的引入和虚拟存储器的定义、特征虚拟存储器的实现请求分页请求分段虚拟存储器的实现请求分页以分页技术为基础,加上请求调页(pager)功能和页面置换功能与对换相比,页面置换中换入换出的基本单位是页,而不是整个进程请求分段以分段技术为基础请求分页请求分页的硬件支持请求分页的内存分配策略和分配算法调页策略页面置换算法请求分页的性能分析和改进请求分页请求分页的硬件支持请求分页的内存分配策略和分配算法调页策略页面置换算法请求分页的性能分析和改进请求分页的硬件支持页表机制缺页中断机构地址变换机构对比“基本
4、分页存储管理技术”请求分页中的页表机制页表是请求分页系统中所需要的主要数据结构,是前面所讲页表的扩展,增加了:存在位P:表示对应的页是否已经装入内存访问字段A:记录访问情况,供换出时参考修改位M:记录修改情况,供换出时参考外存地址:记录在外存上的地址,供换入时参考请求分页中的缺页中断机构当一个进程试图访问标记为“notpresent”的页面时,会发生缺页异常.Pagefaulttrap(缺页异常)Exactexception(trap)Restarttheprocessinexactlythesameplaceandstate.
5、Re-executetheinstructionwhichtriggeredthetrap.一条指令在执行期间可能产生多次缺页异常Oneinstruction&pagefault缺页异常可能在任何一次访存操作中产生一条指令可能产生多次缺页.取值时存取操作数时图中将产生6次缺页中断请求分页中的地址转换机构在前面所讲的分页地址转换结构中,增加了缺页中断的处理缺页时,立即“陷入”操作系统,开始处理异常Pagefaulttrap陷入Checkthatreferenceisvalid检查访存的有效性Findafreememoryframe分
6、配空闲物理页框Readdesiredpagefromdisk装入Changevalidbitofpagetov设置页面的有效位Restartinstructionthatwasinterruptedbythetrap返回并重新执行被中断的指令(引起缺页的指令)Page-faulthandlingphysicalmemoryLoadMOSfreeframepagetable④bringinmissingpage③pageisonbackingstore②trap⑥restartinst.①reference⑤resetpaget
7、ableiv恢复进程的执行BeforeOShandlingthepagefault,thestateoftheprocessmustbesaved(保存现场)e.g.recorditsregistervalues,PCThesavedstateallowstheprocesstoberesumedfromthelinewhereitwasinterrupted.(恢复现场)注意:要区分引起缺页的两种情况非法访问:导致进程终止缺页访问:装入或者换入按需调页的性能令p=PageFaultRate(0p1.0)ifp=0,nopag
8、efaultsifp=1,everyreferenceisafault令ma=memoryaccesstime(typically10~200ns;use100ns)EffectiveAccessTime(EAT)EAT=(1–p)×ma+p×p
此文档下载收益归作者所有