第7章虚拟存储器课件.ppt

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
段表和页表 ? 段表和页表表项分别类似虚拟段式、虚拟页式 – 段表表项中的段起始地址是该段的页表起始地址 – Present 位和 Modified 位只在页表表项 – 保护和共享位通常在段表表项 32 段页式中的逻辑地址 ? 程序中的逻辑地址包含三个部分: ( 段号 , 页号 , 页内偏移 ) ? 逻辑地址 ( n,p,d ) 中,程序员可见的是段 号 n 以及由 p 和 d 构成的段内偏移,页 号 p 及页内偏移 d 对程序员透明(假设 页大小是 2 的 m 次幂) ? 地址转换:综合分页和分段 33 虚拟段页式存储的地址转换 Seg # Page # Offset Frame # Offset Seg Table Ptr Segment Table Page Table P# + Offset + S # Page Frame Program Segmentation Paging Main Memory 34 共享和保护 共享 – 不同进程间可以共享代码段和数据段 – 实现:段表表项记录相同的段起始地址 保护 – 越界保护 – 访问方式保护(如读写保护) – 环保护 35 ? ? 共享 保护 和 36 OS 的虚拟存储管理软件 ? 是否支持虚存、是否支持页式 / 段式 / 段页 式取决于硬件平台 ? 纯段式系统越来越少,段通常被分页=》 虚拟存储管理的问题主要就是虚拟页式 存储管理的问题 ? 虚拟存储管理软件的目标: 使缺页率最 小! 37 读取策略 ? 决定何时将页面载入内存 ? 两种常用策略: – 请求式分页:只通过响应缺页中断调入需要的页 面,也只调入发生缺页时所需的页面 ? 进程开始运行时会有许多缺页,对外存 I/O 次数多,开 销较大(一次 I/O 操作包括旋转等待时间和读写时间) – 预约式分页:在发生缺页需要调入某页时,一次 调入该页以及相邻的几个页 ? 提高调页的 I/O 效率 ? 效率不能保证:额外装入的页面可能没用 38 放置策略 ? 决定进程各部分驻留在内存的哪个位置 ? 对纯段式系统重要(涉及外碎片、压缩 操作等) – 最佳适配、首先适配 …… ? 对纯页式或段页式系统一般不成问题 – 放哪里地址转换、内存存取等都一样工作 – 但在 NUMA(NonUniform Memory Access) 多处理器系统中是需要考虑的 39 替换策略 ? 需要调入页面而内存已满时,决定替换 (淘汰)内存中的哪个页面 ? 常要进行替换(为提高并发程度, OS 总 是载入尽量多的进程) ? 大多数策略都是基于过去的行为来预测将 来的行为,替换最近最不可能访问的页面 40 替换策略 ? 不是所有内存中的页面都可以被替换: – 有些帧给锁定了: OS 内核、关键控制结构、 I/O 缓冲区等 – 驻留集策略决定了不同的替换范围:被替换 的页面局限在本进程,或允许在其他进程 41 最优算法( OPT ) 淘汰“未来不再使用”或“还要最长时 间才会使用”的那个页面 最佳,但不可能实现(实际执行中无法 预知) 可用作其他算法的性能评价依据 42 ? ? ? 最近最少使用算法( LRU ) ? 淘汰内存中最久未使用的页面 ? 性能接近最佳算法 ( 局部性原理的合理近似 ) ? 例:一个进程有 5 个页面, OS 规定每个进程 最多占有 3 个帧 43 最近最少使用算法( LRU ) ? 需要记录页面使用时间的先后关系, 实现开销太大 – 链表 :每次内存访问后在链表中找到对应的页 面,把它移到表头,因此表尾的就是最久未使 用的 – 硬件计数器 :每执行一条指令计数器就加 1 ; 每次内存访问后将当前计数器的值写到相应的 页表表项里,计数器值最小的就是最久未使用 的 44 先进先出算法( FIFO ) ? 淘汰内存中最“老”(建立最早)的页面 ? 实现简单 – 可通过链表来表示各页的建立时间先后,新 来的到表尾,表头就是最“老”的 ? 性能较差 – 较早调入的页往往是经常被访问的页,这些 页在 FIFO 算法下被反复调入和调出 – 有 Belady 现象 45 FIFO 算法与 LRU 算法比较 – LRU 能识别出 2 和 5 是最常用的页面,而 FIFO 不行 46 FIFO 算法与 Belady 现象 ? 采用 它所要求的全部页面,有时就会出现分配 FIFO 算法时,如果对一个进程未分配 的页面数增多,缺页率反而提高的 异常现象 Belady 47 第二次机会算法 ? 淘汰不但“ 老 ”而(最近)“ 没用 ”的页面 ? 原理: – 用链表来表示各页的建立时间先后,新来的到表 尾,表头就是最“老”的(同 FIFO ) – 选择淘汰页面时,若表头页面的 R 位 ( 访问位 ) 是 0 , 则淘汰之;否则将其 R

文档评论(0)

137****8896 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

认证主体赵**

1亿VIP精品文档

相关文档

相关课程推荐