中国计量大学ppt计算机操作系统第5章.ppt

上传人:max****ui 文档编号:10991186 上传时间:2020-04-17 格式:PPT 页数:50 大小:1,004KB
返回 下载 相关 举报
中国计量大学ppt计算机操作系统第5章.ppt_第1页
第1页 / 共50页
中国计量大学ppt计算机操作系统第5章.ppt_第2页
第2页 / 共50页
中国计量大学ppt计算机操作系统第5章.ppt_第3页
第3页 / 共50页
点击查看更多>>
资源描述
第五章虚拟存储器 5 1虚拟存储器概述5 2请求分页存储管理方式5 3页面置换算法5 4 抖动 与工作集5 5请求分段存储管理方式 5 1虚拟存储器概述 前面所介绍的各种存储器管理方式有一个共同的特点 即它们都要求将一个作业全部装入内存后方能运行 于是 出现了下面这样两种情况 1 有的作业很大 其所要求的内存空间超过了内存总容量 作业不能全部被装入内存 致使该作业无法运行 2 有大量作业要求运行 但由于内存容量不足以容纳所有这些作业 只能将少数作业装入内存让它们先运行 而将其它大量的作业留在外存上等待 1 常规存储器管理方式的特征 1 一次性 常规存储管理方式都要求将作业全部装入内存后方能运行 然而 许多作业在每次运行时 并非其全部程序和数据都要用到 5 1 1常规存储管理方式的特征和局部性原理 2 驻留性 作业装入内存后 便一直驻留在内存中 直至作业运行结束 然而 有的程序模块在运行过一次后就不再需要 运行 了 问题 一次性及驻留性在程序运行时是否是必需的 2 局部性原理Denning P在1968指出 程序在执行时将呈现出局部性规律 即在一较短的时间内 程序的执行仅局限于某个部分 相应地 它所访问的存储空间也局限于某个区域 他提出了下述几个论点 1 程序执行时 除了少部分的转移和过程调用指令外 在大多数情况下仍是顺序执行的 2 在过程调用中 程序将会在一段时间内都局限在这些过程的范围内运行 3 程序中存在许多循环结构 4 程序中许多对数据结构的处理 往往都局限于很小的范围内 5 1 1常规存储管理方式的特征和局部性原理 3 虚拟存储器的基本工作情况基于局部性原理 应用程序在运行之前 仅须将那些当前要运行的少数页面或段先装入内存便可运行 其余部分暂留在盘上 程序在运行时 如果程序所要访问的页 段 尚未调入内存 此时程序应利用OS所提供的请求调页 段 功能 将它们调入内存 以使进程能继续执行下去 如果此时内存已满 则须再利用页 段 的置换功能 将内存中暂时不用的页 段 调至盘上 再将要访问的页 段 调入内存 使程序继续执行下去 5 1 1常规存储管理方式的特征和局部性原理 5 1 2虚拟存储器的定义和特征 具有请求调入功能和置换功能 能从逻辑上对内存容量加以扩充的一种存储系统 其逻辑容量是内存容量和外存容量之和 其运行速度接近于内存速度 1 虚拟存储器的定义 2 虚拟存储器的特征 1 多次性 一个作业被分成多次调入内存运行 2 对换性 作业的运行过程中进行换进 换出 3 虚拟性 能够从逻辑上扩充内存容量 使用户所看到的内存容量远大于实际内存容量 1 分页请求系统在分页系统的基础上增加了请求调页功能和页面置换功能 它允许只装入少数页面的程序 及数据 便启动运行 以后 再通过调页功能及页面置换功能 陆续地把即将要运行的页面调入内存 同时把暂不运行的页面换出到外存上 置换时以页面为单位 为了能实现请求调页和置换功能 系统必须提供必要的硬件支持和相应的软件 5 1 3虚拟存储器的实现方法 虚拟存储器建立在离散分配存储管理方式 2 请求分段系统在分段系统的基础上 增加了请求调段及分段置换功能后所形成的段式虚拟存储系统 它允许只装入少数段 而非所有的段 的用户程序和数据 即可启动运行 以后再通过调段功能和段的置换功能将暂不运行的段调出 同时调入即将运行的段 置换是以段为单位进行的 5 1 3虚拟存储器的实现方法 5 2请求分页存储管理方式 5 2 1请求分页中的硬件支持1 请求页表机制在请求分页系统中所需要的主要数据结构是页表 其基本作用仍然是将逻辑地址变换为物理地址 请求分页系统建立在基本分页基础上 增加了请求调页功能和页面置换功能 请求分页系统中的页表 在请求分页系统中 每当所要访问的页面不在内存时 便产生一缺页中断 请求OS将所缺之页调入内存 缺页中断是一种特殊的中断 主要表现在下面两个方面 1 在指令执行期间产生和处理中断信号 2 一条指令在执行期间可能产生多次缺页中断 基于这些特征 系统中的硬件机构应能保存多次中断时的状态 并保证最后能返回到中断前产生缺页中断的指令处继续执行 5 2 1请求分页中的硬件支持 2 缺页中断机构 图5 2请求分页中的地址变换过程 5 2 1请求分页中的硬件支持 3 地址变换机构 11月11日 1 最小物理块数的确定最小物理块数是指能保证进程正常运行所需的最小物理块数 当系统为进程分配的物理块数少于此值时 进程将无法运行 进程应获得的最少物理块数与计算机的硬件结构有关 取决于指令的格式 功能和寻址方式 5 2 2请求分页中的内存分配 2 内存分配策略1 固定分配局部置换 FixedAllocation LocalReplacement 基于进程的类型 或根据程序员 程序管理员的建议 为每个进程分配一定数目的物理块 在整个运行期间都不再改变 如果进程在运行中发现缺页 则从该进程在内存的n个页面中选出一个页换出 然后再调入一页 5 2 2请求分页中的内存分配 2 可变分配全局置换 VariableAllocation GlobalReplacement 2 内存分配策略 先为系统中的每个进程分配一定数目的物理块 而OS自身也保持一个空闲物理块队列 当某进程发现缺页时 由系统从空闲物理块队列中取出一个物理块分配给该进程 并将欲调入的 缺 页装入其中 这样 凡产生缺页 中断 的进程 都将获得新的物理块 当空闲物理块用完时 OS才能从内存中选择一页调出 被选择调出的页可能试系统中的任何一页 5 2 2请求分页中的内存分配 3 可变分配局部置换 VariableAllocation LocalReplacement 5 2 2请求分页中的内存分配 先为每个进程分配一定数目的物理块 但当某进程发现缺页时 只允许从该进程在内存的页面中选出一页换出 这样就不会影响其它进程的运行 如果进程在运行中频繁地发生缺页中断 则系统须再为该进程分配若干附加的物理块 直至该进程的缺页率减少到适当程度为止 反之 若一个进程在运行过程中的缺页率特别低 则此时可适当减少分配给该进程的物理块数 2 内存分配策略 3 物理块分配算法1 平均分配算法将系统中所有可供分配的物理块平均分配给各个进程 5 2 2请求分页中的内存分配 2 按比例分配算法 根据进程的大小按比例分配物理块的算法 系统中共有n个进程 每个进程的页面数为Si 可用的物理块总数为m 则每个进程所能分到的物理块数为bi 3 考虑优先权的分配算法在实际应用中 为了照顾到重要的 紧迫的作业能尽快地完成 应为它分配较多的内存空间 通常采取的方法是把内存中可供分配的所有物理块分成两部分 一部分按比例地分配给各进程 另一部分则根据各进程的优先权 适当地增加其相应份额后 分配给各进程 5 2 2请求分页中的内存分配 3 物理块分配算法 5 2 3页面调入策略1 预调页策略采用一种以预测为基础的预调页策略 将那些预计在不久之后便会被访问的页面预先调入内存 这种策略主要用于进程的首次调入时 由程序员指出应该先调入哪些页 2 请求调页策略当进程在运行中需要访问某部分程序和数据时 若发现其所在的页面不在内存 便立即提出请求 由OS将其所需页面调入内存 每次仅调入一页 目前虚拟存储器大多采用此策略 1 何时调入页面 2 从何处调入页面请求分页系统中的外存分为文件区和对换区 当发生缺页请求时 有三种情况将缺页调入内存 1 系统拥有足够的对换区空间 这时可以全部从对换区调入所需页面 以提高调页速度 2 系统缺少足够的对换区空间 凡不会被修改的文件都直接从文件区调入 对于那些可能被修改的部分 将它们换出时须调到对换区 3 UNIX方式 与进程有关的文件都放在文件区 故凡是未运行过的页面 都应从文件区调入 对于曾经运行过但又被换出的页面 放在对换区 3 页面调入过程每当程序所要访问的页面未在内存时 便向CPU发出一缺页中断 中断处理程序首先保留CPU环境 分析中断原因后转入缺页中断处理程序 在缺页调入内存后 利用修改后的页表 形成所要访问数据的物理地址 再去访问内存数据 整个页面的调入过程对用户是透明的 5 2 3页面调入策略 5 2 3页面调入策略 4 缺页率 假设一个进程的逻辑空间为n页 系统为其分配的内存物理块数为m m n 如果在进程的运行过程中 访问页面成功的次数为S 访问页面失败的次数为F 则该进程在运行过程中的缺页率为 f F S F 5 3页面置换算法 5 3 1最佳置换算法和先进先出置换算法1 最佳 Optimal 置换算法由Belady于1966年提出的一种理论上的算法 其所选择的被淘汰页面 将是以后永不使用的 或许是在最长 未来 时间内不再被访问的页面 采用最佳置换算法 通常可保证获得最低的缺页率 页面置换算法是指选择换出页面的算法 不适当的算法可能会导致进程发生 抖动 例 假定系统为某进程分配了三个物理块 考虑有以下的页面号引用串 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1进程运行时 先将7 0 1三个页面装入内存 图5 3利用最佳页面置换算法时的置换图 1 最佳 Optimal 置换算法 2 先进先出 FIFO 页面置换算法该算法淘汰最先进入内存的页面 5 3 1最佳置换算法和先进先出置换算法 例 页面号引用串 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1 进程运行时 先将7 0 1三个页面装入内存 FIFO算法时进行了12次页面置换 1 LRU LeastRecentlyUsed 置换算法选择最近最久未使用的页面予以淘汰 该算法赋予每个页面一个访问字段 用来记录一个页面自上次被访问以来所经历的时间t 当须淘汰一个页面时 选择t值最大的页面 5 3 2最近最久未使用和最少使用置换算法 LRU页面置换算法 2 LRU置换算法的硬件支持1 寄存器移位寄存器 记录某进程在内存中各页的使用情况 R Rn 1Rn 2Rn 3 R2R1R0 5 3 2最近最久未使用和最少使用置换算法 图5 6某进程具有8个页面时的LRU访问情况 2 栈可利用一个特殊的栈来保存当前使用的各个页面的页面号 每当进程访问某页面时 便将该页面的页面号从栈中移出 将它压入栈顶 假定现有一进程所访问的页面号序列为 4 7 0 7 1 0 1 2 1 2 6 随着进程的访问 栈中页面号的变化情况如图所示 2 LRU置换算法的硬件支持 5 3 2最近最久未使用和最少使用置换算法 3 最少使用 LeastFrequentlyUsed LFU 置换算法该置换算法选择在最近时期使用最少的页面作为淘汰页 在采用LFU算法时 应为在内存中的每个页面设置一个移位寄存器 用来记录该页面被访问的频率 1 简单的Clock置换算法又称为最近未用 NotRecentlyUsed NRU 算法 该算法为每页设置一位访问位 再将内存中的所有页面都通过链接指针链接成一个循环队列 5 3 3Clock置换算法 置换算法在选择一页淘汰时 只需检查页的访问位 如果是0 就选择该页换出 若为1 则重新将它置0 暂不换出 给予该页第二次驻留内存的机会 再按照FIFO算法检查下一个页面 11 16 图5 8简单Clock置换算法的流程和示例 2 改进型Clock置换算法在改进型Clock算法中 须考虑页面的使用情况 置换代价 在选择页面换出时 既要是未使用过的页面 又要是未被修改过的页面 由访问位A和修改位M组合成下面四种类型的页面 1类 A 0 M 0 该页最近既未被访问 又未被修改过 2类 A 0 M 1 该页最近既未被访问 但已被修改 3类 A 1 M 0 4类 A 1 M 1 5 3 3Clock置换算法 该算法须同时检查访问位与修改位 以确定该页是四类页面中的哪一种 其执行过程可分成以下三步 1 从指针所指示的当前位置开始 扫描循环队列 寻找A 0且M 0的第一类页面 在第一次扫描期间不改变访问位A 2 改进型Clock置换算法 2 如果第一步失败 则开始第二轮扫描寻找A 0且M 1的第二类页面 在第二轮 将所有扫描过的页面的访问位都置0 3 如果第二步失败 将所有的访问位复0 然后重复第一步 必要时再重复第二步 5 3 3Clock置换算法 5 3 4页面缓冲算法 PageBufferingAlgorithm PBA 1 影响页面换进换出效率的若干因素 1 页面置换算法 影响页面换进换出效率最重要的因素 2 写回磁盘的频率 对于已经被修改过的页面 在将其换出时 应写回磁盘 减少已修改页面换出的开销 3 读入内存的频率 减少将页面从磁盘读入内存的频率 减少页面换进的开销 VAX VMS操作系统中所使用的PBA 采用可变分配和局部置换方式 置换算法采用FIFO PBA算法的实现需要内存中设置的两个链表 空闲页面链表 修改页面链表 该算法规定将一个被淘汰的页放入两个链表中的一个 即如果页面未被修改 就将它直接放入空闲链表中 否则 便放入修改页面链表中 须注意 这时页面在内存中并不做物理上的移动 而只是将页表中的表项移到上述两个链表之一中 采用PBA算法时 被换出的页面仍留在内存的空闲块中 所有的空闲块形成一个空闲页面缓冲池 5 3 4页面缓冲算法 PageBufferingAlgorithm PBA 思考一在一采取局部置换策略的请求分页系统中 分配给某个作业的内存块数为4 其中存放的四个页面的情况如下表 物理块虚页号装入时间最后一次访问时间访问位修改位0260157011116016110202615800332016311表中的所有数字均为十进制数 所有时间都是从进程开始运行时 从0开始计数的时钟数 请问 如果系统采用下列置换算法 将选择哪一页进行换出 1 FIFO算法 2 LRU算法 3 改进的Clock算法 思考二在一个请求分页系统中 假如一个作业的页面走向为4 3 2 1 4 3 5 4 3 2 1 5 目前它还没有任何页装入内存 当分配给该作业的物理块数目M分别为3和4时 请分别计算采用LRU和FIFO页面淘汰算法时 访问过程中所发生的缺页次数和缺页率 并比较所得的结果 思考三某虚拟存储器的用户空间共有32个页面 每页1KB 主存16KB 假定某时刻系统为用户的第0 1 2 3页分配的物理块号为5 10 4 7 而该用户作业的长度为6页 试将十六进制的虚拟地址0A5C 103C 1A5C转换成物理地址 5 4 抖动 与工作集 5 4 1多道程序度与 抖动 抖动 系统中运行的进程太多 由此分配给每一个进程的物理块太少 不能满足进程正常运行的基本要求 致使每个进程在运行时频繁地出现缺页 工作集是指在某段时间间隔 内 进程要访问的页面集合 经常被使用的页面需要在工作集中 而长期不被使用的页面要从工作集中被丢弃 5 4 2工作集 工作集模型的原理是 操作系统跟踪每个进程的工作集 并为进程分配大于其工作集的物理块 如果还有空闲物理块 则可以再调一个进程到内存以增加多道程序数 如果所有工作集之和增加以至于超过了可用物理块的总数 那么操作系统会暂停一个进程 将其页面调出并且将其物理块分配给其他进程 防止出现抖动现象 5 4 3 抖动 的预防方法 1 采用局部置换策略 页面分配采用可变分配方式 置换采用局部置换策略 当某进程发生缺页时 只能在分配给自己的内存空间内进行置换 不允许从其他进程去获得新的物理块 2 把工作集算法融入到处理机调度中 当调度程序试图从外存调入一个新作业到内存 必须先检查每个进程在内存的驻留页面是否足够多 如果足够多 此时便可以从外存调入新作业 5 4 3 抖动 的预防方法 3 利用 L S 准则调节缺页率 4 选择暂停的进程 L是缺页之间的平均时间 S是平均缺页服务时间 即用于置换一个页面所需的时间 当L远比S大 说明很少发生缺页 反之 如果L比S小 则说明频繁发生缺页 缺页的速度已超过磁盘的处理能力 当L与S接近时 磁盘和处理机都达到它们的最大利用率 当多道程序度偏高时 为了防止发生 抖动 系统必须减少多道程序的数目 因此暂停某些当前活动的进程 5 5请求分段存储管理方式 1 请求段表机制在请求分段式管理中所需的主要数据结构是请求段表 程序运行之前 只需先调入调入少数几个分段便可启动 当所访问的段不再内存中 可请求OS将所缺的段调入内存 5 5 1请求分段中的硬件支持 11 23 2 缺段中断机构在请求分段系统中 每当发现运行进程所要访问的段尚未调入内存时 便由缺段中断机构产生一缺段中断信号 进入OS后由缺段中断处理程序将所需的段调入内存 缺段中断机构与缺页中断机构类似 它同样需要在一条指令的执行期间 产生和处理中断 以及在一条指令执行期间 可能产生多次缺段中断 缺段中断的处理过程如图所示 由于段不是定长的 这使对缺段中断的处理要比对缺页中断的处理复杂 5 5 1请求分段中的硬件支持 图5 12请求分段系统中的中断处理过程 3 地址变换机构因为被访问的段并非全在内存 所以在地址变换时 若发现所要访问的段不在内存 必须先将所缺的段调入内存 并修改段表 然后才能再利用段表进行地址变换 5 5 1请求分段中的硬件支持 图5 13请求分段系统的地址变换过程 1 共享段表所有各共享段都在共享段表中占有一表项 5 5 2分段的共享与保护 整型变量count记录有多少个进程需要共享该分段 2 共享段的分配与回收1 共享段的分配对第一个请求使用该共享段的进程 由系统为该共享段分配一物理区 再把共享段调入该区 同时将该区的始址填入请求进程的段表的相应项中 还须在共享段表中增加一表项 填写有关数据 把count置为1 之后 当又有其它进程需要调用该共享段时 只需在调用进程的段表中增加一表项 填写该共享段的物理地址 在共享段的段表中 填上调用进程的进程名 存取控制等 再执行count count 1操作 5 5 2分段的共享与保护 2 共享段的回收当共享此段的某进程不再需要该段时 应将该段释放 包括撤消在该进程段表中共享段所对应的表项 以及执行count count 1操作 若结果为0 则须由系统回收该共享段的物理内存 以及取消在共享段表中该段所对应的表项 表明此时已没有进程使用该段 否则 减1结果不为0 只是取消调用者进程在共享段表中的有关记录 5 5 2分段的共享与保护 2 共享段的分配与回收 3 分段保护目前 常采用以下几种措施来确保信息的安全 1 越界检查 5 5 2分段的共享与保护 2 存取控制检查在段表的每个表项中设置了 存取控制 字段 通常的访问方式有 1 只读 2 只执行 即只允许进程调用该段去执行 3 读 写 即允许进程对该段进行读 写访问 思考四假如一个程序的段表如下表所示 其中存在位为1标识段在内存 存取控制字段中W表示可写 R表示可读 E表示可执行 对下面的指令 在执行时会产生什么样的结果 1 STORER1 0 70 2 STORER1 1 20 3 LOADR1 3 20 4 LOADR1 3 100 5 JMP 2 100 段表 段号存在位内存始址段长存取控制其它信息00500100W11100030R213000200E31800080R40500040R
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!