2009-06-07 41 views
0

我正在阅读ABI上的维基百科页面,该页面描述了ABI必须指定的内容以及Xen页面,该页面声明它们具有针对其半虚拟化的特殊超级调用ABI。我的问题是,由于程序将使用虚拟机中的Windows ABI来执行,因此Xen ABI如何成为ABI?是Xen ABI真正的ABI吗?

回答

0

的Xen有一台运行虚拟机系统的方法有两种:

  1. 半虚拟化客户,其采用的是ABI与管理程序进行合作。这要求客人为了工作而被修改(这要求其源代码的可用性)。
  2. 使用CPU的虚拟化功能,如AMD的SVM或Intel的VT。在这种情况下,客人不必遵守ABI。

因此,Xen的ABI只涉及第一种情况。

编辑:在来宾操作系统上运行的用户空间程序需要进行修改,假设他们不要试图直接访问硬件(或OS陷阱这些访问和处理它们的宿主友好的方式)。所以只需要修改该guest虚拟机的内核(这里包括驱动程序等),它将运行任何未修改的应用程序。

+0

如果客人被修改了,那么所有编译的二进制文件都不会在同一个os的normall上安装吗? – 2009-06-07 15:49:24