- 1
- 0
- 约3.62千字
- 约 28页
- 2017-06-05 发布于湖北
- 举报
虚拟存储系统 教学目标 知识目标: (1)了解虚拟存储的含义; (2)理解虚拟页式存储系统的基本原理; (3)掌握虚拟页式存储系统的实现的具体步骤; (4)掌握置换算法和算法的程序实现; 能力目标: (1)理解虚拟存储的基本原理和具体实现,加强学生对计算机存储系统的深入了解,设置虚拟内存; (2)通过对虚拟存储过程的分析和模拟,培养学生分析问题的能力; (3)通过置换算法程序的编写,培养学生的动手编程能力; 什么是虚拟存储系统? 冯.诺依曼原理——存储程序原则 局部性原理 1.常规存储器管理方式的特征 (1)一次性。作业在运行前需一次性的全部装入内存。 (2)驻留性。作业装入内存后,便一直驻留在内存中,直到作业运行结束。 2.局部性原理 1968年P.Denning指出:程序在执行时将呈现出局部性规律,即在一较短时间内,程序的执行仅限于某个部分;相应地,它所访问的存储空间也局限于某个区域。 虚拟存储系统 概念:虚拟存储是一种借助于外存空间,从而允许一个进程在其运行过程中部分地装入内存的技术。 分类 虚拟页式存储系统 虚拟段式存储系统 虚拟段页式存储系统 基本原理 在虚拟页式存储管理的地址重定位时,可能会出现所需页面不在主存的情况,此时,系统必须解决以下问题: (1)当前页面在内存中,还是在外存,如何表示? (2)当程序要访问的某页不在内存时,如何发现这种情况?发现后应如何处理? (3)当需要把外存上的某个页面调入内存时,此时内存中没有空闲块应怎么办? 为了帮助操作系统对要置换出内存的页面进行选择,对页表扩充: 具体步骤 程序运行过程中,若所访问的页面不在内存中,发生“缺页中断”,由操作系统进行页面的调度: 找到被访问页面在外存的地址 在内存中找一个空闲页架 如果没有,按照淘汰算法选择一个内存页架; 将此内存页面写回外存,修改页表 读入所需的页面,修改页表 重新启动进程,执行被中断的指令 置换算法 1.最佳置换算法(OPT算法) 2.先进先出置换算法(FIFO算法) 3.最近最久未使用页面置换算法(LRU算法) 1.最佳置换算法(OPT算法) 算法思想:从内存中移出以后不再使用的页面;如无这样的页面,则选择以后最长时间内不需要访问的页面。 2.先进先出算法(FIFO算法) 基本思想:总是先淘汰那些驻留在内存时间最长的页面,即先进入内存的页面先被置换掉。理由是:最先进入内存的页面不再被访问的可能性最大。 实现过程 页面走向:1,4,2,5,3,3,2,4,2,5;可用内存块数:3,用OPT算法求缺页次数和缺页率。 2.先进先出置换算法(FIFO算法) 算法思想:总是先淘汰那些驻留在内存时间最长的页面,即先进入内存的页面先被置换掉。理由是:最先进入内存的页面不再被访问的可能性最大。 页面走向: 1,4,2,5,3,3,2,4,2,5;可用内存块数:3。用FIFO算法求缺页次数和缺页率。 练习 页面走向1,2,3,4,1,2,5,1,2,3,4,5可用内存块数:3;用FIFO算法求缺页次数 页面走向1,2,3,4,1,2,5,1,2,3,4,5可用内存块数:4;用FIFO算法求缺页次数 3.最近最少使用的先淘汰(LRU算法) 基本思想:如果某一页被访问了,那么它很可能马上又被访问;反之,如果某一页很长时间没有被访问,那么最近也不太可能会被访问。其实质是,当需要置换一页时,选择在最近一段时间最久未使用的页面予以淘汰。 常用置换算法小结 4.最近未使用置换算法(NUR算法) —— LRU近似算法 5. 最不经常使用的先淘汰(LFU) 6. 最经常使用的先淘汰(MFU) 淘汰使用次数最多的。 依据: 使用多的可能已经用完了。 Suffer: 程序有些成分是在整个程序运行中都使用的。 假设进程访问内存成功的次数为S,缺页的次数为F,则总访问次数A为A=S+F; 缺页率f=F/A 原因: 分配给进程的物理页面数太少 页面淘汰算法不合理 程序结构 防止抖动的原因 (1) 增加分给进程物理页架数,使得一个进程在一段时间内所需访问的那些页面在内存中有足够的物理块存放,都能调入内存,减小缺页率。 (2) 改进淘汰算法,首先考虑LRU算法,如开销过大或硬件支持不够,可选择NUR算法。 总结 程序运行的局部性原理 * * 现代信息技术部 张玉 现有一个容量为200MB的作业需要运行,如果计算机只有128MB物理内存的话,如何来进行实现 逻辑页号 … p ... ... ... …
原创力文档

文档评论(0)