qemu 是使用动态二进制翻译的 cpu 模拟器,它支持两种运行模式:全系统模拟和用户态模拟。在全系统模拟下,qemu 可以模拟处理器和各种外设,可以运行操作系统。用户态可以运行为另外一种 cpu 编译的进程,前提是两者运行的 os 要一致。qemu 使用了动态二进制翻译将 target instruction 翻译成 host instruction,完成这个工作的是 tcg 模块。