在远程计算机上,我安装了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到底在哪里。
答案 0 :(得分:2)
在基本二进制转换中,您可以在物理计算机上运行其他体系结构(例如,MIPS)的指令。目标架构是模拟的。例如,模拟MIPS机器中的寄存器只是QEMU过程中的一些变量。
确实,QEMU可以使用二进制翻译来模拟计算机上的x86_64计算机。但是因为它模拟了相同的架构,所以指令实际上可以由主机直接执行而无需转换! QEMU采用了一些技术,这些技术使用来自CPU和OS /软件支持(如KVM / Xen)的硬件支持。它仍然是模拟,或者你可以称之为虚拟化。