中国高校课件下载中心 》 教学资源 》 大学文库

成都信息工程大学(成都信息工程学院):《操作系统原理》课程教学资源(讲义)第六章 虛拟存储器

文档信息
资源类别:文库
文档格式:PDF
文档页数:6
文件大小:403.65KB
团购合买:点击进入团购
内容简介
一、虚拟存储器的概念 二、请求页式管理 三、页面置换算法 四、请求段式管理
刷新页面文档预览

6.1虛拟存储器的基本概念 第六章虛拟存储器 虚拟存储器的引入 虚拟存储器的概念 作系统 程序的分段执行 请求页式管理 局部性原理 在执行中的程序,某一段时间内 页面置换算法 总是集中地访问程序中的某一 请求段式管理 时间局限性 空间局限性 虚存容量 虚拟存储器的定义 在多道程序环境下,系统可分为每个用户 利用请求调入和交换技术,为用户提供 建一个虚存 一个存储容量比实际内存容量大得多的存 储器,称之为虚拟存储器 一其容量可为内存与外存的容量之和,成由 计算机地址结构和寻址方式确定 虚存的形式 基础条件 单段式虚存:一个连续线性地址空间。 有相当容量的外存。 多段式虚存:把地址空间分成若干段 每一段是一个连续的线性空间。 有一定容量的内存。 地址变换机构。 >虚拟存储器的实现方式 请求分页系统 虚拟存储器的特征 在分风系统的基础上,增加了请求调和贝面量 高散性 换功能所形成的页式虚拟存储系统 多次性 请求分页的页夜机制 对换性 →地址变换机构 虚拟性 请求分段系统 请求分段的页表机制 一缺段中断机构

1 第六章 虚拟存储器 虚拟存储器的概念 请求页式管理 页面置换算法 请求段式管理 操 作 系 统 | 虚 拟 存 储 器 2 CUIT 徐虹 6.1 虚拟存储器的基本概念 ¾虚拟存储器的引入 ¾程序的分段执行 ¾局部性原理 ¾在执行中的程序,某一段时间内, CPU 总是集中地访问程序中的某一 部分。 ¾时间局限性 ¾空间局限性 操 作 系 统 | 虚 拟 存 储 器 3 CUIT 徐虹 ¾虚拟存储器的定义 ¾利用请求调入和交换技术,为用户提供 一个存储容量比实际内存容量大得多的存 储器,称之为虚拟存储器。 ¾虚存的形式 ¾单段式虚存:一个连续线性地址空间。 ¾多段式虚存:把地址空间分成若干段, 每一段是一个连续的线性空间。 操 作 系 统 | 虚 拟 存 储 器 4 CUIT 徐虹 ¾虚存容量 ¾在多道程序环境下,系统可分为每个用户 建一个虚存。 ¾其容量可为内存与外存的容量之和,或由 计算机地址结构和寻址方式确定。 ¾基础条件 ¾有相当容量的外存。 ¾要有一定容量的内存。 ¾地址变换机构。 操 作 系 统 | 虚 拟 存 储 器 5 CUIT 徐虹 ¾虚拟存储器的实现方式 ¾请求分页系统 ¾在分页系统的基础上,增加了请求调页和页面置 换功能所形成的页式虚拟存储系统。 ¾请求分页的页表机制 ¾缺页中断机构 ¾地址变换机构 ¾请求分段系统 ¾请求分段的页表机制 ¾缺段中断机构 ¾地址变换机构 操 作 系 统 | 虚 拟 存 储 器 6 CUIT 徐虹 ¾虚拟存储器的特征 ¾离散性 ¾多次性 ¾对换性 ¾虚拟性

6.2请求分页存储管理 实现原理 >请求页式管理和预调入页式管理 基本问题 要访问的虚页在不在内存 请求页式管理 扩充贝表功能:增加中断位和外存地址 当执行的指令取访问的据不在内存 作系统 页中断,系统将外存中相应的 虚页不在内存时的处理 页面调入内存 建坤姓变参,糗页龄州*斯址它 预调入页式管理 存调入内存,然后继执行 算,估计出这些页中的指令和据的执 和调出内存 页面的调入调出 调入:有无空白页,是否淘汰一页,修改页 >请求分页中的硬件支持 调出(淘汰) 页表机制 夜的构成:页号、物理块号、状态位P、访问 系>处理过程 字段A、修改位M和外存地址 传输进程某页时,阻嘉,系统调度另 缺页中断机构 处理过程:保护CP现场、分析中斷原因和 >外页面表 入中斷处理程序 除在5 地址变换机构 页面表建立页表 He nfa Transation lakeside la

2 操 作 系 统 | 虚 拟 存 储 器 7 CUIT 徐虹 6.2 请求分页存储管理 ¾请求页式管理和预调入页式管理 ¾请求页式管理 ¾当需要执行的指令或访问的数据不在内存 时,产生缺页中断,系统将外存中相应的 页面调入内存。 ¾预调入页式管理 ¾系统对那些在外存中的页进行调入顺序计 算,估计出这些页中的指令和数据的执行 和被访问的顺序,并按此顺序将它们调入 和调出内存。 操 作 系 统 | 虚 拟 存 储 器 8 CUIT 徐虹 ¾实现原理 ¾基本问题 ¾要访问的虚页在不在内存 ¾扩充页表功能:增加中断位I 和外存地址 ¾虚页不在内存时的处理 ¾由动态地址变换机构产生一缺页中断。OS 进行中断处理后,根据该页的外存地址把它 从外存调入内存,然后继续执行。 操 作 系 统 | 虚 拟 存 储 器 9 CUIT 徐虹 ¾页面的调入调出 ¾调入:有无空白页,是否淘汰一页,修改页 表。 ¾调出(淘汰) ¾处理过程 ¾当传输进程某页时,阻塞,系统调度另一进 程。 ¾外页面表 ¾对于进入系统的每个作业,除在外存建立文 件目录外,还需建立外页面表:页号,物理 块号(磁盘上的位置),保护信息。调度一 个作业时,在内存中根据外页面表建立页表。 操 作 系 统 | 虚 拟 存 储 器 10 CUIT 徐虹 ¾请求分页中的硬件支持 ¾页表机制 ¾页表的构成:页号、物理块号、状态位P、访问 字段A、修改位M和外存地址。 ¾缺页中断机构 ¾处理过程:保护CPU现场、分析中断原因和转 入中断处理程序。 ¾特点 ¾地址变换机构 操 作 系 统 | 虚 拟 存 储 器 11 CUIT 徐虹 ¾联 想 存 储 器 操 作 系 统 | 虚 拟 存 储 器 12 CUIT 徐虹

页面分配 最小物理块数:能保证一个进程 分配算法 正常运行所需的最小物理块数 平均分配算法 页面分配和置换策略 分配策略:固定和可变 作系统 按比例分配算法 考虑优先权的分配算法 将内存分为两部分:一部分按比例分配 换策略:全局和局部 一部分根据优先级增加分配的物理 固定分配局部置换 可变分配全局量换 可变分配局部量换 性能评价 对换区的管理 优点 对换空间充足:全部从对换区换入。 有效地解决了碎片闻题 对换空间不够:分为修改和不修改两 虚存的实现 种方法。 >缺点 UNIX方式:未运行过的,从文件区调 一要求相应的硬件支持 入;曾修改过的,从交换区调入 增加系统开销 请求调页的算法选择不当,可能产生抖 动现象。 没有彻底消除碎片闻题。 6.3 置换算法 先进先出算法(FIFO) 法的效能是和作业运行过程 原理 动态特征)紧密相关的,而这个变化规 选择在内存驻留时间最长的一页将其淘 对同一程序,对不 实现方法 >随机淘汰算法( Random 按页调入内存顺序建立一队列表Q(0 Glongram) Q(m-1)和一菅换指针,指针指向 >最佳置换算法OPI( Optimal 最早调入内存的一页 Replacement Algorithm) 一把这个队列裘建立在存储分块表中 趁准漆时同两芣伤開的买面或

3 操 作 系 统 | 虚 拟 存 储 器 13 CUIT 徐虹 ¾页面分配 ¾最小物理块数:能保证一个进程 正常运行所需的最小物理块数。 ¾页面分配和置换策略 ¾分配策略:固定和可变 ¾置换策略:全局和局部 ¾固定分配局部置换 ¾可变分配全局置换 ¾可变分配局部置换 操 作 系 统 | 虚 拟 存 储 器 14 CUIT 徐虹 ¾分配算法 ¾平均分配算法 ¾按比例分配算法 ¾考虑优先权的分配算法 ¾将内存分为两部分:一部分按比例分配; 另一部分根据优先级增加分配的物理块。 操 作 系 统 | 虚 拟 存 储 器 15 CUIT 徐虹 ¾对换区的管理 ¾对换空间充足:全部从对换区换入。 ¾对换空间不够:分为修改和不修改两 种方法。 ¾UNIX方式:未运行过的,从文件区调 入;曾修改过的,从交换区调入。 操 作 系 统 | 虚 拟 存 储 器 16 CUIT 徐虹 ¾性能评价 ¾优点 ¾有效地解决了碎片问题 ¾虚存的实现 ¾缺点 ¾要求相应的硬件支持 ¾增加系统开销 ¾请求调页的算法选择不当,可能产生抖 动现象。 ¾没有彻底消除碎片问题。 操 作 系 统 | 虚 拟 存 储 器 17 CUIT 徐虹 6.3 置换算法 ¾一个置换算法的效能是和作业运行过程 中访问地址空间的变化规律(即程序的 动态特征)紧密相关的,而这个变化规 律是难以预测的。即对同一程序,对不 同的程序,其规律都不同。 ¾随机淘汰算法(Random Glongram) ¾最佳置换算法OPT(Optimal Replacement Algorithm) ¾被淘汰的页面是永远不使用的页面,或 是在最长时间内不再被访问的页面。 操 作 系 统 | 虚 拟 存 储 器 18 CUIT 徐虹 ¾先进先出算法(FIFO ) ¾原理 ¾选择在内存驻留时间最长的一页将其淘 汰。 ¾实现方法 ¾按页调入内存顺序建立一队列表Q (0) ---Q(m—1)和一替换指针,指针指向 最早调入内存的一页。 ¾把这个队列表建立在存储分块表中

算法效率 最近最久未用页面置换算法(Leat 这种算法只有在按线性顺序访问地址空 recently used 间时才理想,否则效率不高 m>原理:当需要置换一页时,选择在最近段 Belady现象 时间内最久未用的页予以淘汰 在使用FIFO算法时,未给进程或作业 实现 分配足够的页面数时,有时会出现分配 的页面数增多,缺页次数反而增加 通过周期性地对“引用位进 并利用它来记录一个页面自上次被访间 原因在于它根本没考虑程序执行的动态 以来所经历的时间T;淘汰时, 为 最大的页 >硬件支持 寄存器法 为每个页面配一个移位寄存器,当访 m图国甲围甲圉围軍图 问到某物理块时,将相应寄存器的RN 位成1,每隔一段时间将寄存器右移 一位。海汰寄存器值最小的页面 利用一个特殊的栈来保存当前使用的各 个页面的页面号,每当进程访闻某页面 m国图甲甲申图甲图甲军 时,便将该页面的页面号从栈中移出 将它压入栈顶。则栈底为最近最久为使 用页面的页面号 a灬wx鬥圉團圉雷'熠圉 >Clok置换算法 最近没使用算法NRU 淘汰最近一段时间T内未被访问的一页 设置引用位 「例:页面13>4>6>9 报引用位110 优点:简单,实现容易 缺点:时间周期T选择不易确定 Example of Clock Policy Operation

4 操 作 系 统 | 虚 拟 存 储 器 19 CUIT 徐虹 ¾算法效率 ¾这种算法只有在按线性顺序访问地址空 间时才理想,否则效率不高。 ¾Belady 现象 ¾在使用FIFO 算法时,未给进程或作业 分配足够的页面数时,有时会出现分配 的页面数增多,缺页次数反而增加。 ¾原因在于它根本没考虑程序执行的动态 特征。 操 作 系 统 | 虚 拟 存 储 器 20 CUIT 徐虹 ¾最近最久未用页面置换算法(Least recently used) ¾原理:当需要置换一页时,选择在最近一段 时间内最久未用的页予以淘汰 ¾实现 通过周期性地对“引用位”进行检查, 并利用它来记录一个页面自上次被访问 以来所经历的时间T;淘汰时,选择T 为 最大的页。 操 作 系 统 | 虚 拟 存 储 器 21 CUIT 徐虹 ¾硬件支持 ¾寄存器法 ¾为每个页面配置一个移位寄存器,当访 问到某物理块时,将相应寄存器的RN-1 位置成1。每隔一段时间将寄存器右移 一位。淘汰寄存器值最小的页面。 ¾栈 ¾利用一个特殊的栈来保存当前使用的各 个页面的页面号,每当进程访问某页面 时,便将该页面的页面号从栈中移出, 将它压入栈顶。则栈底为最近最久为使 用页面的页面号。 操 作 系 统 | 虚 拟 存 储 器 22 CUIT 徐虹 操 作 系 统 | 虚 拟 存 储 器 23 CUIT 徐虹 ¾Clock置换算法 ¾最近没使用算法NRU 淘汰最近一段时间T内未被访问的一页。 设置引用位。 例: 页面 1——>3——>4——>6——>9 引用位 1 1 0 0 1 优点:简单,实现容易 缺点:时间周期T 选择不易确定 操 作 系 统 | 虚 拟 存 储 器 24 CUIT 徐虹

NRU改进算法 A:访问位M:修改位 (A=0,M=0)最近既未被访问,又未被修 「"类(A,M=1)最近既未被访间,但已被修 漠类(A=,MHD)最近被访同,未被修改 类(A=1,M=1)最近被访问,且被修改 ( State of hailer knf after the next 1 Example of Clock Policy Operation n 步骤 一扫描循环队列,找出一类页面,找到则淘 汰该页 未找到,开始第二轮扫描,找第二类页面 找到淘汰该页,并将所有经过的页面的访 都失败,黛复(1),(2),直到找到淘 汰页面 其它置换算法 最少使用( Least Frequently Used) 系统抖动 换算法 访问次数最少的一页。在页表种增加 抖动现象 问计数 一设移位寄存器(每一页):高位1 指系统页面量换频,大飞CPU时间 七在来回进行页的调度上,小部分时 )页面缓冲算法( Page buffering 间用于实际运算 一个较优的算法应尽可能兔出现抖 换算法采用FIFO 的页面挂在下列 动现象。一且引起了这种局面,系统 应能立即采取措施加以排除 质糖表的骂衡改实圈这面建赛量喜

5 操 作 系 统 | 虚 拟 存 储 器 25 CUIT 徐虹 操 作 系 统 | 虚 拟 存 储 器 26 CUIT 徐虹 ¾NRU 改进算法 A :访问位 M:修改位 1类(A=0,M=0) 最近既未被访问,又未被修 改; 2类(A=0,M=1) 最近既未被访问,但已被修 改; 3类(A=1,M=0) 最近被访问,未被修改; 4类(A=1,M=1) 最近被访问,且被修改。 操 作 系 统 | 虚 拟 存 储 器 27 CUIT 徐虹 ¾步骤: ¾扫描循环队列,找出一类页面,找到则淘 汰该页。 ¾未找到,开始第二轮扫描,找第二类页面, 找到淘汰该页,并将所有经过的页面的访 问位置0。 ¾都失败,重复(1),(2),直到找到淘 汰页面。 操 作 系 统 | 虚 拟 存 储 器 28 CUIT 徐虹 操 作 系 统 | 虚 拟 存 储 器 29 CUIT 徐虹 ¾其它置换算法 ¾最少使用(Least Frequently Used)置 换算法 ¾淘汰访问次数最少的一页。在页表种增加 访问计数。 ¾设置移位寄存器(每一页):高位置1, 定时右移。 ¾页面缓冲算法(Page Buffering Algorithm) ¾置换算法采用FIFO,淘汰的页面挂在下列 两个链表的尾部:空闲页面链表和已修改 页面链表。当修改页面达到一定数量,再 写回磁盘。 操 作 系 统 | 虚 拟 存 储 器 30 CUIT 徐虹 6.4 系统抖动 ¾抖动现象 ¾指系统页面置换频繁,大量CPU 时间 花在来回进行页的调度上,小部分时 间用于实际运算。 ¾一个较优的算法应尽可能避免出现抖 动现象。一旦引起了这种局面,系统 应能立即采取措施加以排除

预防抖动问题(减少缺页中断次数 程序设计质量:程序的局部化程度 分配适当的内存 作集:在段时间内进程实际访闻的面 实验证明:对所有的程序来说,买使其有效的 工作它在内存中的页面微应不低于总页面微 的一半 L=S准则 产生缺页的平均时间等于系统处理进程快页的 平均时间 Typical Paging Behavior of a Program 解决抖动问题的办法 改进算法 6.5请求分段存储管理 在进行淘汰或置换时,一般总 进程懺住不让其换出,而调入的 硬件支持 是占据那些暂时得不到执行的进 的内存区域,从而扩大峡页进程 段表:段名、段长、段基址、存 数>挂起若干进程 取方式、访问字段A、修改字段 存在位P、增补位和外存始址 缺段中断机构 地址变换机构 分段共享与保护 共享段表 共享段裘包括共享进程计数、存取控制 字段和段号 共享段的分配与回收 分段保护

6 操 作 系 统 | 虚 拟 存 储 器 31 CUIT 徐虹 ¾预防抖动问题(减少缺页中断次数) ¾程序设计质量:程序的局部化程度 ¾分配适当的内存 ¾工作集:在某段时间内,进程实际访问的页面 的集合。 ¾实验证明:对所有的程序来说,要使其有效的 工作,它在内存中的页面数应不低于总页面数 的一半。 ¾L = S 准则 ¾产生缺页的平均时间等于系统处理进程缺页的 平均时间。 操 作 系 统 | 虚 拟 存 储 器 32 CUIT 徐虹 操 作 系 统 | 虚 拟 存 储 器 33 CUIT 徐虹 ¾解决抖动问题的办法 ¾改进算法 ¾在进行淘汰或置换时,一般总是把缺页 进程锁住不让其换出,而调入的页或段总 是占据那些暂时得不到执行的进程所占有 的内存区域,从而扩大缺页进程的工作集 ¾挂起若干进程 操 作 系 统 | 虚 拟 存 储 器 34 CUIT 徐虹 6.5 请求分段存储管理 ¾硬件支持 ¾段表:段名、段长、段基址、存 取方式、访问字段A、修改字段M、 存在位P、增补位和外存始址。 ¾缺段中断机构 ¾地址变换机构 操 作 系 统 | 虚 拟 存 储 器 35 CUIT 徐虹 ¾分段共享与保护 ¾共享段表 ¾共享段表包括共享进程计数、存取控制 字段和段号。 ¾共享段的分配与回收 ¾分段保护

已到末页,全文结束
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档