文档详情

吉林大学操作系统课件第六章存储管理2概要.ppt

发布:2017-06-15约3.52千字共85页下载文档
文本预览下载声明
6.4 外存资源管理;进程与外存对应关系;6.5 虚拟存储系统;6.5.1 虚拟页式存储系统;;对页表的改进:;6.5.1.2 内存页框分配策略(静态策略) 1. 平均分配 如内存128页,进程25个,每个进程5个页架 2. 按进程长度比例分配 pi共si个页面;S=?si;内存共m个页架 ai=(si/S)?m 3. 按进程优先级比例分配 4. 按进程长度和优先级别比例分配 静态策略没有反映:   (1)程序结构;   (2)程序在不同时刻的行为特性。;6.5.1.3 外存块的分配策略 1. 静态分配 外存保持进程的全部页面: 优点:速度快--淘汰时不必写回(未修改情况) 缺点:外存浪费 2. 动态分配 外存仅保持进程不在内存的页面: 优点:节省外存 缺点:速度慢--淘汰时必须写回 ;6.5.1.4 页面调入时机 1. 请调(demand paging) upon page fault, 发生缺页中断时调入。 2. 预调(prepaging) before page fault, 将要访问时调入(根据程序顺序行为, 不一定准) 预调必须辅以请调。; 用于:页淘汰、段淘汰、快表淘汰。 Objective: lowest fault rate. 1. 最佳淘汰算法(OPT--optimal) 淘汰将来最长时间以后才用到的。 效率最高,not feasible。 ;2. 先进先出(FIFO) 淘汰最先调入的。 依据: 先进入的可能已经使用完毕。 实现:队列 negative case: 有些代码和数据可能整个程序运行中用到。 Belady异常: 例子:1,2,3,4,1,2,5,1,2,3,4,5 内存3个物理页面:页故障率=9/12 内存4个物理页面:页故障率=10/12 ;FIFO淘汰算法(belady异常);3. 最近最少使用算法(LRU) 淘汰最近一次访问距当前时间最长的。 Replace page that hasn’t been used for the longest period of time. 实现:stack 当一页面被访问时, 从栈中取出压到栈顶, 栈底是: LRU page. 例子:reference string: 4, 7, 0, 7, 1, 0, 1, 2, 1, 2, 7, 1, 2 ;LRU算法例子;4. 最近不用的先淘汰(not used recently) 淘汰最近一段时间未用到的。 实现:每页增加一个访问标志, 访问置1,定时清0, 淘汰时取标志为0的。 LRU算法的近似: Reference string: 2, 3, 5, 6, 4, 2, 5, 6, 7, 5, 6, 8, ;5. 最不经常使用的先淘汰(LFU) 淘汰使用次数最少的。 依据: 活跃访问页面应有较大的访问次数. Suffer: (1) 前期使用多,但以后不用,难换出; (2) 刚调入的页面,引用少,被换出可能大。 实现:记数器,调入清0,访问增1,淘汰选取最小者。 6. 最频繁使用算法(MFU) 淘汰使用次数最多的。 依据: 使用多的可能已经用完了。 Suffer: 程序有些成分是在整个程序运行中都使用的。;7. 二次机会(second chance);8. 时钟算法(clock algorithm);;;;;改进的时钟算法;改进的时钟算法;;;;;;;2010年考研试题;2010年考研试题;6.5.1.6 颠簸(thrashing) 页面在内存与外存之间频繁换入换出。 原因:(1) 分给进程物理页架过少; (2) 淘汰算法不合理。 处理:(1) 增加分给进程物理页架数;     (2) 改进淘汰算法。;6.
显示全部
相似文档