02-虚拟化实现技术.pptx

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

计算虚拟化;了解计算虚拟化的分类

完成计算虚拟化的学习;CPU虚拟化

内存虚拟化

I/O虚拟化;计算虚拟化;CPU虚拟化需要解决两个问题

如何模拟CPU指令(所有敏感指令)

敏感指令:可以读写系统关键资源的指令叫做敏感指令。

特权指令:决大多数的敏感指令是特权指令,特权指令只能在处理器的最高特权级(内核态)执行。

如何让多个VM共享CPU

利用与Native操作系统类似的机制—通过定时器中断,在中断触发时陷入VMM,从而根据调度机制进行调度。

;aSV计算虚拟化技术采用的是KVM技术。KVM的CPU虚拟化是基于CPU辅助的全虚拟化方案,它需要CPU虚拟化特性的支持。;虚拟机VM共享CPU

利用与原始操作系统类似的机制—通过定时器中断,在中断触发时陷入VMM,从而根据调度机制进行调度。

;CPU与vCPU对应关系;CPU虚拟化

内存虚拟化

I/O虚拟化;计算虚拟化;Native操作系统对内存的认识与管理达成以下两点认识:

内存都是从物理地址0开始的

内存都是连续的

内存虚拟化需要解决两个的问题:

从物理地址0开始的:物理地址0只有一个,无法同时满足所有客户机从0开始的要求;

地址连续:虽然可以分配连续的物理地址,但是内存使用效率不高,缺乏灵活性。;内存虚拟化:把物理机的真实物理内存统一管理,包装成多个虚拟机的内存给若干虚拟机使用。KVM通过内存虚拟化共享物理系统内存,动态分配给虚拟机。;;由于宿主机MMU不能直接装载客户机的页表来进行内存访问,所以当客户机访问宿主机物理内存时,需要经过多次地址转换。也即首先根据客户机页表把客户机虚拟地址(GVA)转换成客户机物理地址(GPA),然后再通过客户机物理地址(GPA)到宿主机虚拟地址(HVA)之间的映射转换成宿主机虚拟地址,最后再根据宿主机页表把宿主机虚拟地址(HVA)转换成宿主机物理地址(HPA)。而通过影子页表,则可以实现客户机虚拟地址到宿主机物理地址的直接转换。

Intel的CPU提供了EPT(ExtendedPageTables,扩展页表)技术,直接在硬件上支持GVA-GPA-HPA的地址转换,从而降低内存虚拟化实现的复杂度,也进一步提升内存虚拟化性能。;透明大页(THP);CPU虚拟化

内存虚拟化

I/O虚拟化;计算虚拟化;I/O虚拟化需要解决两个问题

设备发现:

需要控制各虚拟机能够访问的设备;

访问截获:

通过I/O端口或者MMIO对设备的访问;

设备通过DMA与内存进行数据交换;

;I/O虚拟化可以被看作是位于服务器组件的系统和各种可用I/O处理单元之间的硬件中间件层,使得多个guest可以复用有限的外设资源。

设备虚拟化(I/O虚拟化)的过程,就是模拟设备的这些寄存器和内存,截获GuestOS对IO端口和寄存器的访问,通过软件的方式来模拟设备行为。

在QEMU/KVM中,客户机可以使用的设备大致可分为三类:

模拟设备:完全由QEMU纯软件模拟的设备

Virtio设备:实现VIRTIOAPI的半虚拟化设备

PCI设备直接分配(PCIdeviceassignment)

;用软件完全模拟一个特定的设备

保持一样的软件接口,如:PIO、MMIO、DMA、中断等

可以模拟出跟系统中的物理设备不一样的虚拟设备

每次I/O操作需要多次上下文切换

VM-Hypervisor

Qemu-Hypervisor

软件模拟的设备对不影响虚拟机中的软件栈

原生驱动;虚拟出特殊的设备

特殊的设备驱动,包括VM中的Front-end驱动和主机上的Back-end驱动

Front-end和Back-end驱动之间的高效通信

减少VM和主机的数据传输开销

共享内存(VirtRING)

BatchedI/O

异步事件通知Eventfd轻量级进程间“等待/通知”机制;KVM虚拟机支持将宿主机中的PCI、PCI-E设备附加到虚拟化的客户机中,从而让客户机以独占方式访问这个PCI(或PCI-E)设备。通过硬件支持的VT-d技术将设备分配给客户机后,在客户机看来,设备是物理上连接在其PCI(或PCI-E)总线上的,客户机对该设备的I/O交互操作和实际的物理设备操作完全一样,不需要(或者很少需要)Hypervisor的参与。;CPU虚拟化

内存虚拟化

I/O虚拟化

文档评论(0)

学海无涯而人有崖 + 关注
实名认证
内容提供者

教师资格证、人力资源管理师持证人

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

领域认证该用户于2023年06月11日上传了教师资格证、人力资源管理师

1亿VIP精品文档

相关文档