兼容層

讓舊版或外部系統可以在宿主系統上執行程式的介面。這會將外部系統的系統呼叫翻譯為宿主系統的原生系統呼叫

軟件工程領域,兼容層是一個允許面向舊或異質系統的二進制文件運行在特定主機系統上的接口。這意味着將面向異質系統的系統調用轉換為面向主機系統。有些函式庫會面向異質系統,這通常是為主機系統提供運行異質二進制文件的能力。而硬件兼容層工具允許硬件仿真英語Hardware_emulation

軟件

一些例子:

一個兼容層可以避免完全硬件仿真的複雜性和速度損失,某些程序更可能比原來運行更快。例如,某些Linux應用程序運行在FreeBSD的Linux兼容層上時,有時有可能會原運行在紅帽Linux上更快;運行在Wine上的性能基準偶爾也可以比擬它在Windows操作系統的運行效率。[7]

即使在類似的系統上,實現一個兼容層的細節也可能是相當複雜和麻煩;一個好例子是在NetBSD MIPS架構版本中的IRIX二進制兼容層。[8]

兼容層需要主機系統的CPU能(向上)兼容異質系統。舉例來說,微軟Windows的兼容層不可能在PowerPC硬件上運行,因為Windows需要x86的CPU;對於這種情況,只能進行完全仿真。

硬件

硬件兼容層工具涉及到硬件模擬。部分兼容層涉及到接線英語Breakout_box,因為接線可以對特定計算機總線提供一些兼容性。

參見

參考資料

  1. ^ Charlie Russel, Microsoft MVP for Windows Server and Tablet PC. Application Compatibility in Windows XP. 2002-02-18 [2016-06-14]. (原始內容存檔於2006-12-06). 
  2. ^ Linux emulation in FreeBSD. [2016-06-14]. (原始內容存檔於2020-08-01). 
  3. ^ Emulation. freebsd.org. [2014-03-16]. (原始內容存檔於2020-08-01). 
  4. ^ A look inside.... freebsd.org. [2014-03-16]. (原始內容存檔於2020-08-01). 
  5. ^ NetBSD Binary Emulation. netbsd.org. [2014-03-16]. (原始內容存檔於2020-10-29). 
  6. ^ BASH Running in Ubuntu on Windows - MSDN. [2016-06-14]. (原始內容存檔於2017-11-30). 
  7. ^ BenchMark-0.9.5頁面存檔備份,存於網際網路檔案館) - The Official Wine Wiki
  8. ^ Emmanuel Dreyfus. IRIX Binary Compatibility, Part 1. onlamp.com. August 8, 2002 [2014-03-16]. (原始內容存檔於2017-10-21). 

外部連結