《虚拟内存管理器VMM性能概述.docxVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《虚拟内存管理器VMM性能概述

虚拟地址空间划分成段。每段的大小是 256 MB,它是虚拟内存地址空间中一个邻接的部分,数据对象可映射到该空间。进程对数据的寻址能力按段(或对象)的级别进行管理,所以段既可以在进程间共享,也可以进行专门维护。例如,进程可共享代码段但拥有独立和专用的数据段。实际内存管理虚拟内存段划分成固定大小的单元叫做页。缺省页面大小是 4096 字节。某些系统也支持大页面,通常只能通过系统调用 shmat 访问。段中的每页在需要之前可位于实际内存(RAM)中,或存储在磁盘上。同样,实际内存也可以划分成 4096 字节的页面帧。VMM 的角色是管理分配实际内存页面帧并且解析程序对虚拟内存页面的引用,这些页面当前不在实际内存中或还不存在(例如,当进程第一次引用其数据段的某一页时)。因为在任何给定时刻使用的虚拟内存数量可能比实际内存大,所以 VMM 必须将余量存储在磁盘上。从性能的观点来看,VMM 有两个稍微对立的目标:·最小化使用虚拟内存的总处理器时间和磁盘带宽代价·最小化缺页故障的响应时间代价在跟踪这些目标时,VMM 维护一个页面帧的空闲列表,它可用于补偿缺页故障。VMM 使用了一个页面替换算法来确定当前处于内存中的哪些虚拟内存页要将它们的页面帧重新指定到空闲列表中。页面替换算法使用了几个机制:·虚拟内存段分成持久段或工作段。·虚拟内存段分成包含计算内存或文件内存。·跟踪在访问时引起缺页故障的虚拟内存页。·缺页故障分成新页故障或重新调页故障。·在每个虚拟内存段中维护一个重新调页故障率的统计信息。·用户可调阈值影响页面替换算法的结果。以下各节较详细地描述了空闲列表和页面替换机制。空闲列表VMM 维护一个空闲页面帧的逻辑列表,它用于解决缺页故障。在绝大多数环境中,VMM 偶尔必须通过重新指定由运行进程占有的一些页面帧来添加到空闲列表中。需要重新指定页面帧的虚拟内存页由 VMM 的页面替换算法进行选择。VMM 阈值决定了重新指定的帧的数量。持久段与工作段对比:持久段的页面在磁盘上的存储位置是永久性的。包含数据或可执行程序的文件映射到持久段中。因为持久段的每一页都有永久的磁盘存储位置,所以当页面被更改且不能再留在实际内存中时,VMM 将该页写回到那个位置。当页面被选择放置到空闲列表中时,如果它没有更改过则不需要 I/O 操作。如果后来再次引用到该页,那么就从它的永久磁盘存储位置读入一个新副本。工作段是暂时的,它们仅在由进程使用时才存在,且没有永久的磁盘存储位置。进程堆栈和数据区域映射到工作段,这一点和内核文本段、内核扩展文本段、共享库文本段和数据段相同。当工作段的页面不能保存在实际内存中时,它们也必须占有磁盘存储位置。磁盘调页空间就是用于这个目的。下列插图显示某些类型的段和它们的页面在磁盘上的位置之间的关系。它还显示了页面在实际内存中时实际(专有)的位置。图形持久和工作存储段. 该插图显示某些类型的段和它们的页面在磁盘上的位置之间的关系。它还显示了页面在实际内存中时实际(专有)的位置。工作段是暂时的,这意味着它们仅在由进程使用时才存在并且没有永久的磁盘存储位置。进程堆栈和数据区域映射到工作段,这一点和内核文本段、内核扩展文本段、共享库文本段和数据段相同。当工作段的页面不能保存在实际内存中时,它们也必须占有磁盘存储位置。磁盘调页空间就是用于这个目的。持久段类型可进一步划分。客户段用于映射远程文件(例如,正通过 NFS 访问的文件),包括远程可执行程序。客户段的页面通过网络保存和恢复到它们的永久文件位置,而不是在本地磁盘调页空间。日志和延迟段是必须自动更新的持久段。如果选择从实际内存中除去(调出页)的页面来自于某个日志段或延迟段,那么必须将它写到磁盘调页空间中,除非它处于一种允许它提交(写到它的永久文件位置)的状态。计算内存对比文件内存算内存也称为计算页面,它由属于工作存储器段或程序文本(可执行文件)段中的页面组成。文件内存(或文件页面)由其余页面组成。这些通常是来自持久存储器中永久数据文件的页面。页面替换当空闲列表中可用的实际内存帧数量减少时就会调用一个页面替换器(stealer)。页面替换器在整个页面帧表(PFT)中移动,寻找可替换(steal)的页面。PFT 中包含一些标志用来表示哪些页已经被引用,哪些页已经被修改。如果页面替换器遇到一个已经引用的页,它不会替换这个页而是为该页重新设置引用标志。在下一次钟针(页面替换器)经过该页且引用位仍未启用时,它便被替换。初次通过时未被引用的页面会立即得到替换。修改标志表示该页进入内存后上面的数据已经改变。当页面要被替换时,如果设置了修改标志,那么在替换该页之前进行页面调出调用。属于工作段的页面写入调页空间;而持久段中的页面写到磁盘上。图形页面替换示例. 此插图从三个表中摘选而成。第一个表是具有四列的页面帧表,它

文档评论(0)

sf197103 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档