文档详情

4-存储器管理.ppt

发布:2017-07-19约2.79万字共190页下载文档
文本预览下载声明
第四章 存储器管理 存储分配步骤 内存的回收 地址映射 存储保护 存储扩充 存储扩充 二、程序的链接 固定分区-等长 固定分区-异长 紧凑技术 4.3.4 伙伴系统 4.3.4 伙伴系统 4.3.4 伙伴系统 分配过程 4.3.4 伙伴系统 回收过程 示例 页面大小设置 分页存储管理的评价 地址变换机构 分段系统中的快表 段页式存储管理方式的评价 综合了分段和分页技术的优点,既能有效利用存储空间,又能方便用户进程程序设计。 但是,实现段页式存储管理系统需要增加硬件成本,系统的复杂度和管理开销也大大增加; 段页式存储管理技术适合大、中型计算机系统,不太适合小型、微型计算机系统。 总结:虚拟存储的定义 通过系统提供的缺页、段中断功能和交换技术,动态装入进程的程序代码和数据,使得一个大的用户程序能在一个相对较小的内存空间中运行,也使得有限的内存能同时容纳更多的进程; 习惯上,人们把这种用户感觉上的,由实际内存和部分外存共同构成的存储空间成为虚拟存储器; 虚拟存储的典型问题抖动 当进程要求装入新的页面或程序段时,如果当前没有足够的空闲空间,需要交换一些页面或段到外存。如果被交换出去的页面或段很快将被进程使用,则又需有将其换入内存。 如果系统花费大量的时间把程序和数据频繁的装入和移出内存而不是执行用户指令,那么,称系统出现了抖动。出现抖动现象时,系统显得非常繁忙,但是吞吐量很低,甚至产出为零。 根本原因:选择的页面或段不恰当; 4.7.3 页面调入策略 从何处调入 对换区调入 如果已经换出到对换区,从对换区调入 文件系统调入 初始调入,所有未修改过的页面(不放入对换区) Unix方式 初始从文件调入,若被换出到对换区,以后从对换区调入 页面调入过程 缺页中断的处理过程:对照图4-25 关于缺页中断处理:CPU触发,自动进入处理例程 返回 4.8 请求分页中的页面置换算法 作用:选择换出页面 评判:页面置换频率低(缺页率低) 4.8.1 最佳置换和FIFO置换 最佳置换:选择以后不用或未来最长时间不用页面淘汰。理论上最佳,实际不可能达到 基于未来访问情况选择置换,实际中只能基于历史 针对例子分析置换算法(后面类似) 采用局部置换,进程页框数固定 给出页面访问序列 根据置换算法分析置换情况,记录缺页数,进行横向比较 4.8 请求分页中的页面置换算法 4.8.1 最佳置换和FIFO置换 最佳置换算法分析 页访问序列长度:20 页框数:3 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1 7 7 0 7 0 1 2 0 1 2 0 3 2 4 3 2 0 3 2 0 1 7 0 1 缺页次数:9,置换次数:6 4.8 请求分页中的页面置换算法 4.8.1 最佳置换和FIFO置换 FIFO算法分析 选择最早调入的内存的页进行置换 实现:维护调入顺序关系(例如:通过链表),淘汰先调入的 分析:实现简单,但是与程序运行规律不符,性能不佳 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1 7 7 0 7 0 1 2 0 1 2 3 1 2 3 0 4 3 0 4 2 0 4 2 3 缺页次数:15,置换次数:12 0 2 3 0 1 3 0 1 2 7 1 2 7 0 2 7 0 1 4.8 请求分页中的页面置换算法 4.8.2 LRU置换算法 LRU算法分析 选择最近最久未使用的页进行置换 实现:记录每个页面访问以后经历的时间,淘汰最久未使用的 分析:基于局部性原理,最近不使用的很可能近期也不会再用 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1 7 7 0 7 0 1 2 0 1 2 0 3 4 0 3 4 0 2 4 3 2 0 3 2 缺页次数:12,置换次数:9 1 3 2 1 0 2 1 0 7 4.8 请求分页中的页面置换算法 4.8.2 LRU置换算法 LRU实现所需的硬件支持 为什么需要硬件支持 置换算法需要信息:内存中各页多久未被访问 信息由CPU硬件机制提供(或CPU硬件与OS结合) 如何快速地知道哪页是最近最久未使用的须有两类硬件之一的支持:寄存器或栈 LRU实现所需的硬件支持 硬件机制一:移位寄存器(图4-29) 每个页面配备一个移位寄存器 CPU访问页面时置位对应寄存器的最高位为1 周期性右移所有寄存器,寄存器值反映了最近访问时间 图4-29 某进程具有8个页面时的LRU访问情况 R?=?Rn-1Rn-2Rn-3 … R2R1R0 LRU实现所需的硬件支持 硬件机制二:页面访问桟(图4-30) CPU访问页面时从桟
显示全部
相似文档