了解qemu-kvm

时间:2015-10-11 12:11:18

标签: linux emulation qemu kvm

在远程计算机上,我安装了qemu-x86_64。在试图找到相同的版本时,我会提供以下信息。

$ qemu-x86_64 -version
qemu-x86_64 version 1.0 (qemu-kvm-1.0), Copyright (c) 2003-2008 Fabrice Bellard

我试图了解qemu-kvm是什么。我们不讨论整个系统仿真,只讨论qemu用户级仿真。

QEMU支持2种仿真:系统和用户级别。在系统级仿真中,整个系统都是仿真的,您可以看到可以使用相同的系统启动操作系统。在用户级仿真中,我能够在另一个架构上运行为架构编译的二进制文件。例如:我最终能够在x86-64机器上运行Linux MIPS二进制文件。

我机器上qemu-x86_64的版本信息如下。

qemu-x86_64 version 2.2.0 (Debian 1:2.2+dfsg-5expubuntu9.2), Copyright (c) 2003-2008 Fabrice Bellard

我试图了解远程计算机上运行的qemu-x86_64是什么类型的。 kvm适合哪儿?远程机器也是一台64位机器。

当我使用qemu-x86_64在远程计算机上运行64位二进制文​​件时,没有二进制转换,而qemu正在使用KVM在实际硬件上执行指令。如果是这样,qemu会扮演什么角色?它是否处理特权指令?我试图了解kvm到底在哪里。

1 个答案:

答案 0 :(得分:2)

在基本二进制转换中,您可以在物理计算机上运行其他体系结构(例如,MIPS)的指令。目标架构是模拟的。例如,模拟MIPS机器中的寄存器只是QEMU过程中的一些变量。

确实,QEMU可以使用二进制翻译来模拟计算机上的x86_64计算机。但是因为它模拟了相同的架构,所以指令实际上可以由主机直接执行而无需转换! QEMU采用了一些技术,这些技术使用来自CPU和OS /软件支持(如KVM / Xen)的硬件支持。它仍然是模拟,或者你可以称之为虚拟化。