云计算知识第七讲:内存虚拟化

简介: 内存虚拟化的产生源于VMM与客户系统在对物理内存的认识上存在冲突,造成物理内存真正拥有者-VMM必须对系统访问的内存进行一定程度上的虚拟化。

一、内存虚拟化的产生

  内存虚拟化的产生源于VMM与客户系统在对物理内存的认识上存在冲突,造成物理内存真正拥有者-VMM必须对系统访问的内存进行一定程度上的虚拟化。

  先看非虚拟化环境:  

  ·指令对内存的访问通过处理器来转发>>>>处理器将解码后的请求放到总线上>>>>芯片组负责转发。

  为了唯一标示,处理器将采用统一编址的方式将物理内存映射成为一个地址空间(物理地址空间)。

    1)操作系统会假定内存地址从0开始。

    2)内存是连续的或者说在一些大的粒度(比如 256M)上连续。

    在虚拟环境里,VMM就要模拟使的虚拟出来的内存仍符号客户机 OS 对内存的假定和认识,内存虚拟化要解决哪些问题呢?

    a.物理内存要被多个客户OS同时使用,但物理内存只有1个,地址0也只有一个,无法满足同时从0开始的要求。

    b.由于使用内存分区方式,物理内存分给多个系统使用,客户机OS内存连续性可解决但不灵活。

    要解决以上问题引入了一层新的地址空间---客户机物理地址空间来解决让虚拟机OS 看到一个虚拟的物理地址,让VMM 负责转化成物理地址给物理处理器执行。

  image.png

  VMM需要做哪些事情呢?

  1)给定一个虚拟机,维护客户机物理地址到宿主机物理地址之间的映射关系。

  2)截获虚拟机对客户机物理地址的访问,将其转化为物理地址。

  二、内存虚拟化

  ·内存全虚拟化技术

  通过使用影子页表(Shadow Page Table)实现虚拟化。

  VMM 为每个Guest 都维护一个影子页表,影子页表维护虚拟地址(VA)到机器地址(MA)的映射关系。而Guest页表维护VA到客户机物理地址(GPA)的映射关系。

  当VMM捕获到Guest 页表的修改后,VMM 会查找负责GPA 到MA 映射的P2M 页表或者哈希函数,找到与该GPA对应的MA,再将MA填充到真正在硬件上起作用的影子页表,从而形成 VA 到 MA 的映射关系。而 Guest 的页表则无需变动。

  image.png

  ·内存半虚拟化技术

  通过使用页表写入法实现虚拟化

  Guest OS 在创建一个新的页表时,会向VMM注册该页表。之后在 Guest 运行的时候,VMM 将不断的管理和维护这个表,使Guest 上面的程序能直接访问到合适的地址。

 ·内存硬件辅助虚拟化技术

  通过扩展页表EPT(extended page table)实现虚拟化。

  EPT通过使用硬件虚拟化技术,使其能在原有的页表的基础上,增加一个EPT页表,用于记录GPA到MA的映射关系。VMM预先把EPT页表设置到CPU中。

  Guest 修改Guest 页表,无需VMM干预。地址转换时,CPU 自动查找两张页表完成 Guest 虚拟地址到机器地址的转换,从而降低整个内存虚拟化所需的开销。

  image.png

相关文章
|
Linux KVM 虚拟化
云计算——ACA学习 虚拟化技术产品介绍
云计算——ACA学习 虚拟化技术产品介绍
312 0
|
20天前
|
机器学习/深度学习 监控 安全
解密虚拟化弹性内存:五大核心技术与实施策略
本文深入解析虚拟化环境中实现内存弹性管理的五大核心技术与实施策略。内容涵盖内存架构演进、关键技术原理、性能优化方法及典型问题解决方案,助力提升虚拟机密度与资源利用率。
61 0
|
弹性计算 安全 数据库
【转】云服务器虚拟化内存优化指南:提升性能的7个关键策略
作为云计算服务核心组件,虚拟化内存管理直接影响业务系统性能表现。本文详解了内存优化方案与技术实践,助您降低30%资源浪费。
72 0
【转】云服务器虚拟化内存优化指南:提升性能的7个关键策略
|
2月前
|
存储 安全 虚拟化
全面解析服务器虚拟化:云计算时代的核心技术架构
服务器虚拟化是云计算的核心技术,通过资源池化提升IT效率。本文详解其原理、部署优势及在数字化转型中的关键作用,涵盖技术架构、应用场景与选型指南,助力企业构建高效灵活的云环境。
276 0
|
6月前
|
安全 大数据 虚拟化
随着云计算和大数据技术的发展,Hyper-V在虚拟化领域的地位日益凸显
随着云计算和大数据技术的发展,Hyper-V在虚拟化领域的地位日益凸显。作为Windows Server的核心组件,Hyper-V具备卓越的技术性能,支持高可用性、动态迁移等功能,确保虚拟机稳定高效运行。它与Windows深度集成,管理便捷,支持远程管理和自动化部署,降低管理成本。内置防火墙、RBAC等安全功能,提供全方位安全保障。作为内置组件,Hyper-V无需额外购买软件,降低成本。其广泛的生态系统支持和持续增长的市场需求,使其成为企业虚拟化解决方案的首选。
|
11月前
|
存储 分布式计算 分布式数据库
云计算和虚拟化技术
云计算是指把计算资源、存储资源、网络资源、应用软件等集合起来,采用虚拟化技术,将这些资源池化,组成资源共享池,共享池即是“云”。
343 64
|
12月前
|
存储 边缘计算 资源调度
云计算与虚拟化是什么关系
云计算与虚拟化是什么关系
384 2
|
12月前
|
存储 边缘计算 大数据
云计算和虚拟化有什么区别
云计算和虚拟化有什么区别
704 1
|
11月前
|
存储 Kubernetes 虚拟化
计算机必背单词——云计算和虚拟化
本文介绍了程序员需要掌握的云计算和虚拟化相关技术词汇,包括AWS、Azure、GCP等云服务平台,Docker、Kubernetes等容器技术,以及IaaS、PaaS、SaaS等云服务模型。通过学习这些词汇,希望能拓宽读者的知识面并加深对相关概念的理解。
170 0
|
安全 Devops 虚拟化
【专栏】虚拟化技术与云计算平台 OpenStack:硬件虚拟化、操作系统级虚拟化和容器化
【4月更文挑战第28天】本文探讨虚拟化技术原理,如硬件虚拟化、操作系统级虚拟化和容器化,以及开源云计算平台OpenStack如何利用这些技术提供优势。OpenStack支持多种虚拟化技术,具备开源灵活性、多租户架构、可扩展性、插件式设计和成本效益。未来,OpenStack将在容器化、DevOps、跨云策略和安全合规性方面发挥更大作用,助力企业数字化转型。
888 4

热门文章

最新文章