2009-06-07 31 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