深度解析内存虚拟化如何实现地址映射

作者:血虐修罗 | 发布日期:2022-09-22 11:56:32


本文目录一览+▽+“SLAT”是什么意思?

“SLAT”详细说明


SLAT,全称是“二级地址转换”,中文直译是“二级地址转换”。 它是计算机科学和网络技术中常用的术语,主要用于地址映射和驱动程序域。 它的主要功能是将网络地址翻译成内核处理方法,以保证数据包的正确传递。


该缩写的汉语拼音为“èrjídìzhōzhuònhuàn”,其英文流行度已达4353,表明其在专业域的广泛认可。 SLAT属于计算域,具体按照与网络驱动程序相关的术语进行分类。


在现实应用中,例如虚拟化技术,SLAT通过在虚拟机和主机之间进行地址映射来提高性能和资源利用率。 一个常见的例子是Intel的VT-d技术,该技术使用SLAT直接访问虚拟机内存。


SLAT信息取自互联网,仅用于学习和交流目的。 由于版权属于原作者,请读者自行审核,避免潜在风险。 。

\ _ /内存虚拟化中的PA是物理地址(PA):由VMM抽象并由虚拟机设置的伪物理地址。
内存虚拟化就是通过虚拟化技术,用真实的物理内存创建一个虚拟的内存区间。 这个虚拟机的内存用作guest虚拟机(这里是对guest机器)的物理内存。 即为了让guest能够使用隔离的、从零开始的、连续的内存空间,KVM引入了一层新的地址空间,即guest物理地址空间(GuestPhysical
Address,GPA),这个地址space不是真正的物理地址空间,它只是主机虚拟地址空间到客户端地址空间的映射。

ˋ﹏ˊ虚拟化基本原理

虚拟化:解锁服务器资源的革命性技术


虚拟化,这项技术的神奇之处在于,它将物理服务器变成了多租户竞技场,每个租户拥有独立的、隔离的虚拟机。 它提供的好处包括显着提高资源利用率、灵活的性能调优、提高业务连续性以及易于运维。 主要虚拟化类型分为Type-1(如VMwarevSphere)和Type-2(如QEMU/KVM),后者通过作系统层面实现智能虚拟化,展现了技术的深度和灵活性。


QEMU/KVM的基石:架构与机


以QEMU/KVM为例。 该架构就像一个模拟CPU、内存和I/O设备的复杂阶段。 vCPU充当在虚拟阶段执行的“演员”,以VMX模式执行guestOS指令。 关键步骤包括CPU状态保存(VMCS)、复杂的内存虚拟化转换(GVA到GPA到GHA)以及设备驱动程序的智能处理。 主机就像一个控器,通过qemu仿真或内核与用户空间之间的直接协作来处理来自虚拟设备的请求。


中断虚拟化路径


中断信号不再直接提供,而是通过I/OAdvancedProgrammableInterruptController(I/OAPIC)提供给vCPU。 在虚拟化过程中,中断虚拟化过程的微调,以保证系统的稳定运行。 vCPU作为Hypervisor的执行线程,运行在VMX模式下,当遇到敏感作时,必须通过VMEexit返回到Hypervisor处理,然后将guest状态加载到VEntry中继续执行。


VMCS:状态切换的守护者


在VMEexit/Entry过程中,状态信息存储在4KB的VMCS结构中,包括注册表状态、主机状态等和访客状态检查,以及执行和退出/进入控域等核心数据。 该数据容器充当复杂的剧本,确保虚拟机在虚拟世界和物理世界之间无缝转换时保一致。


内存虚拟化:隐的魔术师


在内存虚拟化中,Hypervisor是虚拟内存的幕后控器,所有的虚拟访问都由Hypervisor负责。 最终会映射到物理内存。 当CPU处理虚拟地址(HVA)时,硬件辅助MMU将其转换为物理地址(HPA)。 在虚拟环境中,通过多级页表(如GPT、PML4、PDPT等)进行地址转换,Intel的EPT机提高了效率。 然而,EPT处理不当可能会导致性能瓶颈,因此虚拟机管理程序需要良好的规划。


I/O虚拟化的效


在I/O虚拟化中,遇到传统软件I/O瓶颈,Intel和AMD推出了硬件辅助设备直通和SR-IOV等技术。 前者允许guestOS直接访问设备,接近机性能,后者通过虚拟PF和VF设备实现资源的高效共享。 Virtio技术通过virtqueue减少了上下文切换,将数据传输的效率提升到了一个新的水平。 用户空间和内核空间的Hypervisor处理方式也方便了数据交换。


中断处理:虚拟环境的新规则


虚拟环境中的中断处理与物理环境中的不同,是由监控和确定的由管理程序。 虚拟APIC和LAPIC的角色已重新定义。 它们在虚拟化中断路由中发挥着关键作用,确保中断信息的准确传递和处理。


总的来说,虚拟化技术前所未有地重塑了服务器的内部运作方式,通过硬件优化和智能机实现性能提升和资源高效利用。 随着虚拟化技术的不断发展,我们可以期待更多的创新和突破来推动计算世界的展。