【问题标题】:is the Xen ABI a true ABI?Xen ABI 是真正的 ABI 吗?
【发布时间】:2009-06-07 14:26:53
【问题描述】:

我正在阅读ABI 上的维基百科页面,该页面描述了 ABI 必须指定的内容,以及 Xen 页面,该页面声明他们有一个特殊的超级调用 ABI 用于其半虚拟化。我的问题是,既然程序将使用虚拟机中的 Windows ABI 执行,那么 Xen ABI 是一个 ABI 吗?

【问题讨论】:

    标签: computer-science virtualization xen


    【解决方案1】:

    Xen 有两种运行客户系统的方式:

    1. 半虚拟化来宾,使用该 ABI 与管理程序合作。这需要修改来宾才能工作(这需要其源代码的可用性)。
    2. 使用 CPU 的虚拟化功能,例如 AMD 的 SVM 或 Intel 的 VT。在这种情况下,客人无需遵守任何 ABI。

    所以 Xen 的 ABI 只与第一种情况有关。

    编辑:在来宾操作系统上运行的用户空间应用程序需要修改,假设它们不尝试直接访问硬件(或者操作系统捕获这些访问并以主机友好的方式处理它们方式)。因此,只需要修改该客户机的内核(这里包括驱动程序等),它将运行任何未修改的应用程序。

    【讨论】:

    • 如果来宾被修改,那么所有编译的二进制文件在相同操作系统的正常安装上都不起作用吗?
    猜你喜欢
    • 2012-10-04
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 2014-09-27
    相关资源
    最近更新 更多