兼容层

兼容层是一种软件接口,允许针对某个操作系统或硬件架构编写并编译应用程序在不同的主机系统上运行。它接收为某个环境设计的API调用和其他系统功能,并将其转换为主机系统能够理解的调用。

兼容层可以发挥与模拟虚拟化类似的作用,让针对某个环境编写的软件例如,在(x86处理器上运行的Windows)能够在不同操作系统的类似硬件上运行在x86处理器上运行的(Linux),或者在不同硬件架构的类似操作系统上运行(在ARM处理器上运行的Windows)。它们会拦截程序尝试向原始环境发出的每个系统API调用,并将这些调用转换为对新主机环境的等效调用。

一些知名的兼容层包括 Wine(通过实现 Windows API,让 Windows 程序能够在 Linux 上运行)、macOS中的Rosetta 2让针对x86编译的macOS应用能够在(Apple Silicon上运行),以及 Windows 中的 WOW64将针对x86构建的Windows应用转换为可在(x86-64和ARM处理器上运行的应用)。

在兼容层中运行软件通常比模拟另一个环境或运行虚拟机使用更少的系统资源。不过,某些软件在使用兼容层时可能会出现错误,或者需要额外配置才能正常运行。

与模拟和虚拟化的比较

模拟器、虚拟化和兼容层通常都用于运行其他环境的软件。每种方法完成这项任务的方式都不同。

模拟器使用软件重新创建设备的硬件和软件,从而模拟整个环境。由于在软件中模拟硬件设备需要大量系统资源,主机系统需要明显快于被模拟的硬件,才能达到相近的性能。用于在两个硬件平台之间进行转换的兼容层会包含硬件模拟器,但只在需要时使用它,而不是持续模拟整个环境。

虚拟机在主机的硬件上模拟一台完整的计算机。它运行操作系统的副本,并使用软件层将虚拟化硬件调用转换为对主机硬件的调用。兼容层只转换所需的调用,并且不会模拟不需要的硬件或软件调用。

更新日期 November 7, 2022 作者 Brian P.

quiz测试你的知识

The 'K' in CMYK represents which color channel?

A
Red
0%
B
Green
0%
C
Blue
0%
D
Black
0%
Correct! Incorrect!     View the CMYK definition.
More Quizzes →

Tech Terms 计算机词典

本页中兼容层的定义是由 TechTerms.com 的作者撰写的原创定义。如果您想引用本页或引用此定义,请使用定义正下方的绿色引用栏。

我们的目标是以简单易懂的方式解释计算机术语。我们努力使发布的每个定义都做到准确和简明。如果您对本定义有任何反馈,或想建议一个新的技术术语,请联系我们

Tech Terms 通讯

通过我们的每日或每周通讯提升您的技术知识!立即订阅,即可将新术语和测验发送到您的收件箱。

订阅免费的 TechTerms 通讯

您希望多久收到一封电子邮件?

您可以随时使用每封邮件中的链接取消订阅或更改接收频率。 有疑问?请联系我们

注意:通讯以英文发送。