
上QQ阅读APP看书,第一时间看更新
3.1.2 QEMU源码结构
QEMU是一个模拟器,它能够动态模拟特定架构的CPU指令,如x86、PowerPC、ARM等。QEMU模拟的架构称为客户机架构,运行QEMU的系统架构称为宿主机架构,QEMU中有一个模块叫作微型代码生成器(TCG),用来将客户机代码翻译成宿主机代码。QEMU指令动态翻译过程如图3-1所示。

图3-1 QEMU指令动态翻译过程
运行在虚拟CPU上的代码称为客户机代码,QEMU的主要功能是不断提取客户机代码并且转化成宿主机指定架构的代码。整个翻译任务分为两部分:第一部分将客户机代码转化成TCG中间代码;第二部分将中间代码转化成宿主机代码。