1、KVM包括很多部件,它是一个Linux内核模块(现在包括在主线中)用于转换处理器到一种新的用户 (guset)模式。Qemu是一个完整的可以单独运行的软件;作为一个内核模块,KQemu仅仅需要替换最底层的ring0-only指令。
2、Qemu它可以用来模拟机器,非常灵活和可移植。它主要通过一个特殊的'重编译器'将为特定处理器编写二进制代码转换为另一种。(也就是,在PPCmac上面运行MIPS代码,或者在X86 PC上运行ARM代码)
3、KQemu当源和目标代码有同样的架构的时候,同样需要解析代码去出去任何'特权指令'并且把它们替换为上下文转换。为了尽量使这个过程有效,有个内核模块KQemu处理这个事情。作为一个内核模块,KQemu仅仅需要替换最底层的ring0-only指令。KQemu不需要重新编译代码,它仅仅调用KQemu去扫描/打补丁/执行。所有外围的硬件仿真是在Qemu中做的。