gpt4 book ai didi

linux-kernel - 虚拟 : How it increase performance

转载 作者:行者123 更新时间:2023-12-04 04:13:25 25 4
gpt4 key购买 nike

我想了解:

  1. 与完全虚拟化或硬件辅助虚拟化(如 virtio_net 或 virtio_blk)相比,virtio 驱动程序如何提高性能?

  2. 这些 virtio 驱动程序如何影响 VMEXIT/VMENTER 或 guest 与管理程序之间的上下文切换?

  3. virtio 的基本思想或架构是什么?

谢谢

最佳答案

VIRTIO 是一个准虚拟化接口(interface)。这意味着 guest 必须知道它正在虚拟化环境中运行,以便它可以部署它的 VIRTIO 驱动程序来与虚拟硬件对话。半虚拟化案例经过优化,可将 guest ->hyper-visor->主机和返回转换的数量保持在最低水平,从而提高性能。差异与完全虚拟化相比,在完全虚拟化中 guest 可能不知道它是虚拟化的,因为它提供了许多模拟硬件,而这些模拟硬件就其而言是真实的硬件。但是,对于硬件的每次访问, guest 都会设置一个陷阱来处理每个单独的访问。例如,如果一个 NIC 卡需要 20 个寄存器设置来发送一个数据包,该数据包将经过 20 个转换从客户机到模拟器。

现在还有另一种类型的虚拟化,它依赖于 IOMMU。这些可以被编程为将它们的部分地址空间传递给给定的虚拟机。因此,虚拟机可以直接访问硬件,管理程序/主机不需要参与真实硬件的仿真。在这种情况下,它可能是一个虚拟 NIC,它实际上是一个真实的 NIC,它被分割为许多不同的虚拟 NIC,每个 VM 一个。

http://vmsplice.net/~stefan/virtio-devconf-2014.pdf 上有一篇关于 VIRTIO 架构的很好的文章。

关于linux-kernel - 虚拟 : How it increase performance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24737882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com