---
title: ExaGear概念
description: "ExaGear是一款二进制指令动态翻译软件，运行在Arm64服务器上，通过将x86的指令在运行时翻译为Arm64指令并执行，使得绝大部分x86应用无需重新编译就可运行在Arm64服务器上，实现低成本、快速迁移x86应用到Arm64服务器。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/portingadvisor/usermanual/kunpengexagear_06_0003.html
sourcePath: /source/zh/kunpengdevps/portingadvisor/usermanual/kunpengexagear_06_0003.html
indexId: 6c1fa5e266357b9ccaa0ee1148a697f4625f8938fd3f756ab15780cd0d051fb477
---
# ExaGear概念

ExaGear是一款二进制指令动态翻译软件，运行在Arm64服务器上，通过将x86的指令在运行时翻译为Arm64指令并执行，使得绝大部分x86应用无需重新编译就可运行在Arm64服务器上，实现低成本、快速迁移x86应用到Arm64服务器。

ExaGear安装过程中，更新Linux的binfmt_misc组件将x86应用的解析器注册为ExaGear，安装完成后主要有两个组件：指令翻译引擎和x86运行环境。

#### 指令翻译引擎

ExaGear的指令翻译引擎是一个“中间件”软件解决方案，位于x86应用程序与ARMv8架构服务器之间（见图1）。x86应用启动时，Linux内核通过binfmt_misc识别x86应用，并通过ExaGear的指令翻译引擎对x86应用程序进行加载解析，在运行时翻译为Arm指令并执行。对执行x86应用的用户而言，整个过程是简易且透明的，和操作Arm应用无差别。

图1 ExaGear的概念性表示


#### x86运行环境

x86运行环境是ExaGear创建的一个包含所有标准库、实用程序、配置文件的x86应用执行环境，这确保了x86应用程序运行所需的基础设施组件的可用性。从技术角度讲，x86运行环境是一个特定的文件目录，包含了x86库、命令、实用程序和其它系统文件（见图2）。x86应用程序的二进制文件也必须存放于x86运行环境中。

图2 x86运行环境的概念性表示
