08虚拟内存.ppt

  1. 1、本文档共75页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
08虚拟内存

* * * * * * * * * 工作集大小的变化 进程开始执行时,随着访问新页面逐步增大 当内存访问的局部性区域的位置大致稳定时,工作集大小也大致稳定 局部性区域的位置改变时,工作集快速扩张和收缩过渡到下一个稳定值 * 工作集的性质 随Δ单调递增: W(t, Δ) ? W(t,Δ+ a),其中 a0 工作集大小范围: 1≤|W(t,Δ)|≤min(Δ,N), 其中 N 是进程的总页面数 * 工作集策略 利用工作集来进行驻留集调整的策略: 记录一个进程的工作集变化 定期删除驻留集中不在工作集中的页面 总是让驻留集包含工作集(不能包含时则增大驻留集) 存在问题: 工作集的过去变化未必能够预示工作集的将来(大小或组成页面均可能会改变) 记录每个进程的工作集变化所要求的开销太大 对工作集窗口大小Δ的最优值难以确定,而且通常该值是不断变化的 * 工作集策略的接近策略 缺页率 (PFF,Page Fault Frequency) 算法:跟踪缺页率而不是工作集的变化! 设定缺页率高/低阈值,缺页率高/低于相应阈值时,增加/减少驻留集大小 主要缺点:在局部性阶段的过渡期间效果不好 VSWS (Variable-interval Sampled Working Set,可变间隔采样工作集)策略 通过增加采样频率来解决PFF算法的缺点 驱动参数:采样区间的最大/最小宽度M/L(为异常条件提供边界保护)、采样实例间允许发生的缺页中断数Q(使能正常激活采样) 策略: 采样间隔达到L时挂起进程并扫描使用位 若在采样间隔L时发生了Q次缺页中断 采样间隔M,则一直等待 采样间隔≥M,则扫描使用位 * 清除策略 决定何时将已修改页面调出到外存上 有两种常用清除策略: 请求清除(demand cleaning):该页被置换之前才调出,即把清除推迟到最后一刻 调入所缺页面之前还要调出已修改页面,缺页进程的等待时间较长 预先清除(precleaning):该页被置换之前就调出,因而可以成批调出多个页面 若这批调出外存的页面中的多数在被置换之前还要被再次修改,则意义不大,形成不必要的开销 * 负载控制 决定内存中同时驻留的进程数目(即多道程序系统的并发水平) 太少,则通常所有进程可能都处于阻塞状态,从而CPU空闲时间太多 太多,则每个进程的驻留集太小,因此缺页频繁发生,导致“抖动”现象 * 负载控制策略 基于工作集策略的算法(如缺页率PFF等) 它们隐含负载控制策略,只有那些驻留集足够大的进程才能运行,从而实现对负载的自动和动态控制 “L = S 判据”策略( P.Denning,1980) 让缺页的平均间隔时间(是指真实时间而不是虚拟时间)等于对每次缺页的处理时间,研究表明这时CPU的利用率达到最大 一种类似的策略称为“50%判据”策略:让外存交换设备保持50%利用率,这时CPU也达到最高的利用率 * 加载控制策略 基于Clock替换算法的加载控制策略 定义一个轮转计数,描述轮转的速率(即扫描环形页面链的速率) 当轮转计数小于一定的阈值时,表明缺页较少或存在较多不常使用的页面,可提高系统负载 当轮转计数大于某阈值时,表明系统的进程并发水平过高,需降低系统负载 * 加载控制的实施 当系统并发水平过高时(根据前述加载控制策略判定),需要降低系统负载 OS不能完全控制进程的创建,但可通过进程挂起(中程调度)来减少驻留内存的进程数目。 即需要减少驻留内存的进程数目时,可以将部分进程挂起并全部换出到外存上。如低优先级的、缺页率高的、驻留集最小的、页面最多的,等等 Linux内存管理 虚拟内存 虚拟存储采用三级页表 页面分配采用伙伴系统 页面置换采用时钟算法 内核内存分配 管理物理内存页帧的分配和收回 以用户虚存管理的页分配机制为基础,也使用伙伴算法 对小于一页的小块内存分配,采用slab(厚片/平板)分配方案,可分配32、64、128、252、508、2040和4080个字节 * Windows存储器管理 WinNT的存储器管理程序可以在各种平台上运转,使用的页面大小可以从4KB到64KB 32位WinNT的虚地址空间:4GB * Windows存储器管理 WinNT进程地址空间被划分成固定大小的页,一个页的状态可以是: 可用(Available/Free):可保留或提交的空闲页面 保留(Reserved):逻辑页面已分配,但物理存储没有分配的页面;可被释放或提交 提交(Committed):物理存储(在内存或磁盘上)已分配的页面;可被回收(变成保留页面) WinNT的驻留集管理方案是:可变分配+局部替换 * 作业 必做:8.1(P275)、8.4(P276) 选做:8.5、8.6、8.11、8.18、仿真项目4-页面置换算法 * * * * * * *

文档评论(0)

整理王 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档