Windows 内核实验-Windowsncgl.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows内存管理 操作系统课程组 Windows虚拟地址空间 虚拟地址空间(Virtual address space) A set of virtual memory addresses that a process can use. 特点 平面(线形)空间 大小和物理内存无关 每个进程拥有的私有地址空间,其他的进程在未经允许的条件下不能访问此地址空间 Windows虚拟地址空间 32-bit x86 Address Space 虚拟地址空间最大为4GB Windows虚拟地址空间 Windows虚拟地址空间 64-bit Address Spaces Windows内存管理器 Windows的内存管理器是执行体(Executive)的一部分,位于文件Ntoskrnl.exe中 Windows内存管理器 内存管理器的主要任务 将一个进程的虚拟地址空间映射到物理内存中(mapping)。 数据交换(swap)。当物理内存被过度使用时,将内存中的一些内容转移到磁盘上;并且,在以后需要这些内容时,再将它们读回到物理内存中。 Windows内存管理器 内存管理器提供的服务(面向用户) 分配和释放虚拟内存 进程之间共享内存 将文件映射到内存 将虚拟页面刷新到内存 获得虚拟页面的信息 改变虚拟页面的保护属性 将虚拟页面锁在内存 …… Windows的内存管理方案 Windows内存管理采用的是虚拟页式管理方案,默认情况下,每个页面大小为4KB。 Windows页面组织方式(二级页表结构) 页表(Page Table): A page of mapping information Windows的内存管理方案 页目录(Page directory) Windows的内存管理方案 Windows虚拟地址变换 x86系统32位虚拟地址结构 Windows虚拟地址变换 地址变换过程(x86系统) Windows页面错误 在页面表换该过程中,可能会发现PTE的有效位被清除的情况,这表明出于某种原因,该页面无法被当前进程访问。在此对一个无效页面的引用被称为页面错误(page fault) 引发错误的原因 缺页 页面在内存,但在备用或修改队列中 访问违例 …… Windows页面错误 缺页错误的处理方法 采用请求调页和页簇化技术 当发生缺页中断时,windows内存管理器将所需页面及其之前或之后的少量页面一起加载到内存中。根据程序行为局部性理论,这种页簇化技术可以减少缺页中断次数。 Windows系统中如果缺页的原因是因为引用数据页面错误,则簇的大小为3,否则为7。 工作集 定义 A subset of virtual pages resident in physical memory. 分类 进程工作集:进程当前在内存中的页面的集合。 系统工作集:系统代码和数据驻留在内存中的页面的集合。 工作集 工作集管理 每个进程在开始时都有一个默认的工作集大小(50个页面)和一个最大值(345个页面)。工作集最大值是在系统初始化时计算得到的。 工作集最大值的上限 工作集 Windows对工作集大小的调整 当一个进程的工作集降低到最小工作集后,如果该进程再发生缺页中断,则该进程的工作集增加。 当一个进程的工作集升到最大工作集后,如果没有足够内存可用,则进程每发生一次缺页中断,windows内存管理程序从该进程工作集中淘汰掉一个旧页(全局和局部组合的模式:局部FIFO算法),然后调入新页。不过如果此时内存空间足够,windows也允许进程的工作集超越其最大工作集。 当物理内存不足时,windows会检测每一个进程的工作集大小,如果大于其最小工作集,则淘汰该工作集中的一些页,直到空闲内存数量足够用或者每个进程都达到其最小工作集。 …… Further Reading Mark E. Russinovich and David A. Solomon, Microsoft Windows Internals, 4th Edition, Microsoft Press, 2004. Chapter 7 - Memory Management Page Fault Handling Working Sets Memory Pools Page Frame Number Database Memory Manager Services the Memory Manager Provides Address Translation Shared Memory and Mapped Files Source Code References Windows Research Kernel sources \base\ntos\mm – Memory man

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档