总结

已完成
  • 最开始时,进程要么能被内存容纳,要么无法运行。
  • 虚拟内存改变了这一现状,它允许物理内存容纳不下的进程正常运行,就像内存原本就可以容纳它一样。
  • 对虚拟内存的间接推理是,特定物理内存无法同时容纳的多个进程现在可以在该物理内存上一起运行。
  • 虚拟内存的基本理念是为每个进程提供其自己的虚拟地址空间。
  • 每个进程的虚拟地址空间都转换为物理地址空间,后者用于实际访问物理内存。
  • 虚拟地址到物理地址的转换在每个进程称为页表的软件数据结构中维护。
  • 在传统系统(即非虚拟化环境)中,虚拟到物理的转换称为一级页面映射。
  • 在虚拟化环境中(即,涉及虚拟机监控程序时),虚拟到物理的转换至少扩展了一个级别,称为二级页面映射。
  • 二级页面映射需要进行两次连续转换:虚拟到实际,然后实际到物理。 在这种情况下,实际地址空间是指 VM 的内存空间,而虚拟和物理地址空间是指进程和物理内存的传统内存空间。
  • 因此,虚拟化环境中的内存虚拟化通常被认为是对大多数常规用途 OS 支持的经典虚拟内存概念的延伸。
  • 当实际内存的合计大小增长到超过基础物理内存的实际大小时,就可以使用内存过量使用技术。
  • 内存过量使用技术允许合计实际内存大于物理内存的 VM 同时运行,从而可提高内存利用率。
  • 但是,内存过量使用技术要求在物理内存不足时回收 VM 中非活动的实际内存页面,并将其迁移到虚拟机监控程序。 这称为回收技术。
  • 最受欢迎的回收技术之一是 VMware ESXi 中集成的充气过程。