兼容层

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

软件工程领域,兼容层是一个允许面向旧或异质系统的二进制文件运行在特定主机系统上的接口。这意味着将面向异质系统的系统调用转换为面向主机系统。有些函数库会面向异质系统,这通常是为主机系统提供运行异质二进制文件的能力。而硬件兼容层工具允许硬件仿真英语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). 

外部链接