代码之家  ›  专栏  ›  技术社区  ›  Jack Humphries

为什么要退出外部中断?

  •  0
  • Jack Humphries  · 技术社区  · 6 年前

    对于使用“英特尔VT-x”的VMM,为什么有人要将VMCS中的外部中断退出位设置为0,而不是使用发布的中断(假设体系结构同时支持这两种中断)?

    例如,如果您将外部中断退出位设置为0,那么如果来宾操作系统正在运行,则将向主机操作系统发送的中断将传递给来宾操作系统。如果客户机也使用相同的中断向量,这将如何处理?这个问题不是发布中断处理的问题。

    0 回复  |  直到 6 年前
        1
  •  2
  •   prl    6 年前

    有许多不同的方法来设计使用VMX的VMMs。从您使用的术语“主机操作系统”来看,您可能正在考虑一种特定的VMM体系结构。

    • VMM是在发布的中断可用之前写入的。
    • (可能)直接传递中断比使用发布的中断占用更少的处理器时间和电源,并且延迟更低。
    • 发布的中断处理设计用于处理分配给来宾vcpu的中断。来宾vcpu当前可能没有运行,当它运行时,它运行的物理CPU可能会有所不同。此外,发布的中断处理支持中断传递可以延迟到vcpu恢复的情况。