第4章-内存管理要点解析.ppt

  1. 1、本文档共111页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
缺点: 要求程序员划分程序,提供一个明确的覆盖结构。 对用户不透明,增加了用户负担。 这种技术曾用在早期的操作系统中。 【例】设系统为进程P固定分配3个物理块,初始为空,进程访问页的顺序为4,3,2,1,4,3,5,4,3,2,1,5。分别采用OPT、FIFO、LRU置换算法的情况下,计算缺页次数。 4.3 实存储器管理 五、覆盖 基本原理: (1)把程序划分为若干个功能上相对独立的程序段(称为覆盖块),按照其自身的逻辑结构使那些不会同时执行的程序段共享同一块内存区域; (2)覆盖块存放在磁盘上,当一个程序段执行结束,把后续程序段调入内存,覆盖前面的程序段(内存“扩大”了) A 20KB E 20KB F 40KB C 30KB B 50KB D 30KB 程序P的调用结构 程序P的常驻区 A(20KB) 覆盖区0 (50KB) 覆盖区1 (40KB) C B F E D 覆盖 覆盖 4.4 虚拟存储管理 一、虚拟存储器(Virtual Memory) 1.基本思想 进程的大小可以超过可用物理内存的大小,由OS把当前用到的那部分留在内存,其余的放在外存中。 2.几个概念 虚拟地址:程序中使用的地址。进程的虚拟地址从0开始。 物理地址:可寻址的内存实际地址 虚拟地址空间:虚拟地址的集合 物理地址空间:实际的内存空间 虚拟存储器 3.交换(Swapping)技术 借助于外存(磁盘),将当前要使用的那部分程序或数据装入内存,将暂时不需要的放在磁盘上,待需要时再装入。 交换:进程的整体或一部分的换入/换出。 换入:从磁盘移入内存 换出:从内存移出到磁盘 交换是实现虚拟存储器的基础。 最初的交换是针对整个进程的交换。 交换技术 (1)交换区(交换空间)的概念 磁盘上为虚拟内存保留的区域,称为交换区或交换空间。 (2)交换区的实现方式 交换分区,或称交换设备 交换文件,用于交换的有固定长度的文件 (3)交换区的分配方式 进程创建时分配:每次换出在同一个地方 换出时分配:首次换出时分配,以后换出在同一个地方;或者每次换出在不同地方。 虚拟存储器 4.虚拟存储器的特征 逻辑上扩充了内存容量,对于用户程序来说,仿佛内存“无限大”。只不过有时慢一点而已。 5.虚拟存储管理的实现方案 分页 + 虚拟存储技术 分段 + 虚拟存储技术 段页式 + 虚拟存储技术 4.4 虚拟存储管理 二、虚拟页式管理(动态页式管理) 1.基本思想 在进程开始运行之前,不是装入全部页,而是装入部分或0个页,之后根据进程运行的需要,动态装入其它页; 当内存空间已满,而又需要装入新的页时,则根据某种算法淘汰某个页,以便装入新的页。 虚拟页式管理 2.页表项内容的扩充 除了页号和物理块号外,需要增加下列字段: 有效位(状态):表示该页是否在内存中 访问位A(访问字段):记录该页最近是否被访问过 修改位M:表示该页在装入内存后是否被修改过 外存地址:该页在磁盘上的地址 3.地址变换 虚拟地址- 物理地址 类似于静态页式管理。 由于访问的页p可能不在内存中,因而引出以下几个问题: 缺页中断处理 页的换入/换出 虚拟页式管理 (1)缺页中断(Page Fault)处理 在地址变换的过程中,当访问页表时,若根据状态位发现所访问的页不在内存,则产生缺页中断。 缺页中断处理: ① 保护当前进程现场; ② 根据页表中给出的外存地址,在外存中找到该页; ③ 若内存中无空闲物理块,则选择1页换出; ④ 分配一个空闲物理块,将新调入页装入内存; ⑤ 修改页表中相应表项的状态位及相应的物理块号,修改空闲物理块表(链); ⑥ 恢复现场。 虚拟页式管理 (2)页的换入/换出 1)页的分配策略:为每个进程分配多少个物理块 固定分配 为每个进程分配的总物理块数固定,在整个运行期间不变。 可变分配 先为每个进程分配一定数目的物理块,OS自身维持一个空闲物理块队列。当发生缺页时,由系统分配一个空闲块,存入调入的页;当无空闲块时,才会换出。 虚拟页式管理 2)页的置换策略:在什么范围内选择淘汰页 全局置换 从整个内存中选择淘汰页 局部置换 只从缺页进程自身选择淘汰页 页的换入/换出 3)页的调入策略 ① 何时调入 请求调页(demand paging) 只有访问的页不在内存中时,才会调入该页。 预调页(prepaging) 一次调入多个连续的页。为什么这样做? ② 从何处调入:文件区(可执行文件)、交换区 全部从交换区调入 进程创建时,全部从文件区拷贝到交换区。 首次调入从文件区,以后从交换区 页的换入/换出 4.页的置

文档评论(0)

三沙市的姑娘 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档