
[精品]探讨虚拟页式存储管理下处理缺页中断的方法.doc
3页探讨虚拟页式存储管理下处理缺页中断的方法探讨虚拟页式存储管理下处理缺页中断的方法【摘耍】 关于操作系统的内存管理,现阶段最成功的是虚拟页式存储管理本文旨在介绍如何利用虚拟存储技术来提高操作 系统的内存利用率和通过已有的一些页面置换算法来解决缺页中断 的问题 【关键词】 虚拟页式存储管理;缺页中断;页面置换算法 1.介绍 随着程序越来越大和多道程序的并行运行,内存变成稀缺资源在研究如何能在内存有限的情况下运行更多 的程序时,虚拟存储技术也就应运而生利用虚拟存储器,能够在内 存有限的情况下,扩展一部分外存作为虚拟内存,真正的内存只存储 当前运行时所用得到的信息,即虚拟存储器的逻辑容量由内存容量与 外存容量之和决定虚拟页式存储管理,则是将进程所需空间划分为 若干个大小相等的页,内存分为与页大小相同的块,当程序需要运行 时,就将程序装入内存,内存有几块,就装得下几页当程序所需访 问的页面不在内存时,就耍将耍访问的页面调入到内存中这时,当 分配给该程序的内存物理块已满,但是又需要调入新的页面时,就会 发生缺页中断在页面置换过程中,如何决定被调出物理块的页面, 产生了像OPT、LRU、FTFO等常见的页面置换算法。
下面,我们就来 仔细介绍 2.缺页中断的产生以及缺页次数的判定 2.1缺页中断的产生及处理过程 在请求分页系统中,每当所耍访问的页面不在内存时,便耍产生一次缺页中断,这时,需耍将内存中的一 个或多个页而置换出来,才能将新的页面调入内存这时,首先,要 计算地址取得页号,在取得页号后,需要判断程序执行需要的页面是 否在内存来决定是否发出缺页中断信号,如若发生缺页中断,需耍继 续判断内存中是否有空闲内存块来决定是否执行页面置换操作接着 再调入所需页面,修改数据结构,最后返回 2. 2缺页中断次数的判定 页面置换次数和缺页中断次数是不等同的,只耍程序所需的页面不在内存,我们就可以判定为缺页中断,而只有当内存中 没有空闲内存块,且需耍从外存调入时,才会发生页面置换也就是说,当缺页中断出现吋,不一定要进行页面置换,而出现页面置换吋 必然产生缺页中断 那么,从理论分析的角度上來说,计算缺 页次数应该统计程序执行过程中所有的页而调入次数而不仅仅只统 计运行过程中的页面置换次数但是,尽管已经限定前提的条件下, 不同的假设条件,缺页次数的计算结果是不一样的比如说,目前教 材上比较偏爱假定程序开始执行前内存中没有页面,但是现实情况是, 多数情况下,程序开始执行前,内存中是有页面的,那么不同的页面 以及不同的页面数量无疑会对缺页次数的计算产生影响。
再者,不同 的页面置换算法同样会对缺页次数产生影响 3.页面置换算法页面置换算法的好坏将直接影响系统的性能,不适当的算法可能会导 致系统的“抖动”,即刚被换出的页面很快乂被访问,需重新调入 因此,一个好的页面置换算法,应具有较低的页面更换频率 3.1OPT (最优页面置换)算法 OPT算法是1996年由Belady在理论 上提出的一种算法,它的基本思想是:在选择页面置换时,系统会选 择将来不会被访问的页面或者在最长时间后才被访问的页而因为系 统的不可预测性,所以OPT只是理论上存在的完美算法但是,我们 可以通过OPT算法的理想结果分析其他算法的优劣性 3. 2 LRU页而置换算法及LRU近似页面置换算法 LRU算法是最贴近于OPT算法的一种算法,它的基本思想是:选择最近最长一段吋间里没有被 访问过的页置换掉但是它需要较多的硬件支持严格来说,要为页 表中的每个表项附加一个使用时间寄存器,CPU内附加一个逻辑吋钟, 在每次访问发牛时都必须将时钟的内容复制到使用时间寄存器,这样 大大加大了硬件的成本,所以生活中我们经常使用LRU的一些近似算 法 LRU近似算法有LFU页面置换算法和NUR页面置换算法。
LFU算法的思想是:选择当前吋刻为止访问次数最少的一页置换出去 而NUR算法的思想是:选择当前时刻为止最久未被访问的页置换出去 但是,考虑到修改过的页面还需要写冋磁盘,所以改进后NUR算法还 把页面的修改位考虑进来了改进后的NUR算法为每一页增加一位访 问位和修改位,并且按(0, 0)、(0,1)、(1, 0)、(1, 1)的顺序优 先选择置换出去的页而 4.页而置换算法的应用发展 页面置换算法的改进已H趋成熟,比如说面向Flash存储的页面置换算 法,它是针対Flash存储设备组成的存储系统来进行设计和优化而 在完善页面置换算法的过程中,也有很多研究者提出了种种办法,例 如具有诊断功能的页面置换算法研究,它在传统的页面置换算法的基 础上,加入了诊断功能,使算法的缺页率和异常现象有所优化但是到目前为止,没有一种算法完全贴近OPT算法理想状态下的缺页 次数结果在未来的研究发展中,会不会有一个新的视角来看待页而 置换算法,这有待所有研究者的努力付出 参考文献: [1]范辉,谢青松•操作系统原理与实训教穆(第二版)•北京:高等教育 岀版社,2006. 7 [2]秦沿海•请求式分页系统缺页中断次数计算结果的分析.2002. 8 [3]王松.LRU淘汰算法的一种实现设想.2007. 6 [4]陈文明•对虚拟存储中置换算法的探讨.2005. 3[5]朱浩•面向Flash存储的页面置换算法综述.2011 [6]颜远海.具有诊断功能的页面置换算法.2013. 2 作者简介: 段凤仪(1993-),女,天津人,华中师范大学信息管理学院2011级本科生, 信息管理与信息系统专业; 刘辉(1993-),女,江西人,华中师范大学信息管理学院2011级本科生,电子商务专业。












