在远程机器上,我安装了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支持两种仿真:系统级和用户级。在系统级仿真中,整个系统都被仿真,您可以看到可以使用相同的方法启动操作系统。在用户级仿真中,我能够在另一个架构上运行为另一个架构编译的二进制文件。我最终能够在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的qemu-x86_64在远程机器上运行64位二进制文件时,没有进行二进制转换,而是使用KVM在实际硬件上执行指令。如果是这样,qemu扮演了什么角色?它能处理特权指令吗?我正在尝试理解kvm到底在哪里。
发布于 2015-10-23 12:40:30
本质上,二进制翻译允许你在你的物理机器上运行另一个架构的指令(例如,MIPS)。对目标架构进行了仿真。例如,模拟的MIPS机器中的寄存器只是QEMU进程中的一些变量。
QEMU确实可以使用二进制翻译在您的计算机上模拟x86_64机器。然而,因为它模拟的是相同的体系结构,所以指令实际上可以直接由主机执行,而不需要翻译!QEMU采用了一些技术,这些技术利用了CPU的硬件支持和操作系统/软件支持,如KVM/Xen。它仍然是模拟的,或者你可以称之为虚拟化。
https://stackoverflow.com/questions/33064798
复制相似问题