【问题标题】:What is meant by trap-and-emulate virtualization?陷阱和模拟虚拟化是什么意思?
【发布时间】:2013-12-21 16:40:03
【问题描述】:

我在一些关于如何设置虚拟 PC 的文章中读到了陷阱和模拟虚拟化一词。谁能告诉我这个词是什么意思?

我知道这绝对是创建虚拟电脑的一些方法。但是它是怎么做的呢?

【问题讨论】:

  • 这是我记得的:一个操作系统可以在虚拟机中运行(出于各种原因),从而成为一个非特权程序(因此它不能在内核模式下运行,与所有可用的特权指令和寄存器)。 Trap-and-emulate 是虚拟机用来模拟特权指令和寄存器并向操作系统假装它仍处于内核模式的一种技术。

标签: virtual-machine virtualization


【解决方案1】:

操作系统旨在完全控制系统。但是当操作系统在管理程序中作为虚拟机运行时,它的某些指令可能会与主机操作系统发生冲突。那么管理程序是做什么的呢?它模拟该特定指令或动作的效果而不执行它。以这种方式,主机操作系统不受客户行为的影响。这称为陷阱和模拟。

【讨论】:

    【解决方案2】:

    在用户模式下尝试特权指令会导致错误发生,从而导致陷阱状态

    在此之后,VMM(虚拟机管理器)获得控制权并分析错误,执行客户尝试的操作,然后在用户模式下将控制权返回给客户。

    注意:由于陷阱和模拟,内核模式特权命令运行速度较慢

    【讨论】:

      【解决方案3】:

      在 Virtual Machine Manager(或 Hypervisor)上运行的操作系统/应用程序执行两种类型的操作:

      1. 非特权 - Hypervisor 直接允许 OS/App 执行这些操作。
      2. Privileged - Hypervisor 使用 Trap-and-Emulate 方法来确定操作是合法还是非法。它首先为特权操作创建了一个陷阱。然后,如果操作是非法的,管理程序会终止操作,如果是合法操作,它会模拟客户操作系统/应用程序期望硬件的行为。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-02
        • 2019-07-19
        • 2015-02-20
        • 1970-01-01
        • 1970-01-01
        • 2021-06-10
        • 1970-01-01
        • 2011-02-22
        相关资源
        最近更新 更多