- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
12虚拟存储请求页式管理1
作业 T3 * 2、物理块的分配策略 1)、固定分配局部置换(Fixed Allocation, Local Replacement) 基于进程的类型,为每个进程分配一定数目的物理块(n块),在整个运行其间不变; 如缺页: n块中置换一页,以保证该进程在内存中的页面数不变; 问题: 多少个物理块合适? 物理块太多:资源空闲. 物理块太少:频繁中断 采取固定和可变分配策略 * 2)、可变分配全局置换 空闲物理块队列 先为每个进程分配一定数目的物理块,OS也保持一个空闲物理块队列,当进程缺页时,由系统从空闲物理块队列取出一个物理块分配给该进程,并将要调入的(缺)页装入内存. 仅当空闲物理块队列中的物理块用完时,OS才从内存中任一进程的一页调出. 问题: 会使被调出页的进程缺页,进而使缺页率增加,影响其它进程的执行. * 3)、可变分配局部置换 要求保持适当的缺页率 基于进程的类型,为每个进程分配一定数目的物理块, 进程如缺页: 只从该进程在内存中的页面中换出一页,这样不会影响其它进程; 如果进程在运行其间频繁发生缺页中断,则系统再为该进程分配若干个附加物理块,直至进程的缺页率减少到合适为止;若进程的缺页率特别低,可适当减少已分配该进程的物理块数目. * 3、物理块分配算法 在固定分配策略中,系统在为各个进程分配物理块时,可采取: 1)、平均分配算法 * 系统中多进程页面数的总和为: 每个进程所能分到的物理块数bi=Si/S ×m,m为可用的物理总数。 3)、考虑优先权的分配算法 2)、按比例分配算法 ,Si为某个进程的页面数。 * 5.2.3 调页策略 1、何时调入页面 2、从何处调入页面 3、页面调入过程 1)预调页策略 2)请求调页策略 用于首次调入 * 2、从何处调入页面 (1)系统拥有足够的对换区空间。 当缺页时,全部从对换区把所需的页面调入内存,使调页速度提高。 要求: 进程运行前,把进程相关文件拷入对换区 在请求分页系统中,外存分为两部分:文件区 和对换区 * 刚开始时,都放在文件区 文件区 对换区 不改 改 外存可能被修改 不会被修改 内存 (2)系统缺少足够的对换区空间。 * (3) UNIX方式 与进程有关的文件都放在文件区。没有运行过的页面,从文件区调入内存;已经运行过又被换出的页面,放在对换区,下次调入时,从对换区调入。 文件区 对换区 第一次 内存 外存 * 外存物理块号 内存有空:调入内存 不空:换出一页 修改位为1,重新写入外存 修改位为0,不必写入外存 将缺页调入内存 修改页表,写入快表 物理地址 访问数据 3、页面调入过程 4.缺页率 如果在进程的运行过程中,访问页面成功(页面在内存)的次数为S,访问页面失败(页面不在内存)的次数为F,则该进程总的页面访问次数为A=S+F,那么该进程运行过程中的缺页率为: f= F/A 影响因素: 页面大小;分配物理块数目;页面置换算法;程序固有特性。 * 第五章 虚拟存储器 5.1 虚拟存储器概述 5.2 请求式分页存储管理方式 5.3页面置换算法 5.4“抖动”与工作集 5.5 请求式分段存储管理方式 5.1虚拟存储器概述 1.常规存储器管理方式的特征 2.局部性原理 3.虚拟存储器定义和特征 4.虚拟存储器的实现方法 * 1.前面讨论的各种存储管理方法虽各有特长,但有一些共同的特点: 首先是“一次性分配”。 其次是“驻留性”。 作业全部信息,必须一次性装入内存 作业信息一旦装入内存便一直驻留到作业运行结束 一方面使大作业的运行受到 限制,另一方面又影响了 多道程序的实现。 * 2、局部性原理 程序的局部性规律,程序往往会不均匀地高度局部化地访问内存。 * (1)程序在执行时,在大多数情况下仍是顺序执行的。 这种特性使得程序的执行在一段时间内被限制在作业的某一局部范围。 P.Denning有以下一些论点: (2)过程调用将会使程序的执行轨迹由一部分内存区域转至另一部分区域。但在大多数情况下,过程调用的深度都不超过5。 在一段时间内,程序将会被局限于这些过程的范围内运行。 * (3)程序中存在许多循环结构,它们可以多次重复执行。 for i:=1 to n a[i]:=a[i]+1; (4)程序中还包括许多对数据结构的处理,它们往往都局限于很小的范围内。 * 局限性的表现:时间,空间(1)时间局限性 时间局限性是指最近被访问的存储位置,很可能不久的将来还要被访问。 支持这种现象的是: (a) 循环; (b) 子程序; (c) 栈; (d) 用于计数和总计的变量。 * (
文档评论(0)