QEMU是什么

猴哥资讯 242 2022-07-28 03:27:41

  QEMU(quick emulator)是一款由免费的可执行硬件虚拟化的开源托管虚拟机(VMM)。其与Bochs,PearPC类似,但拥有高速(配合KVM),跨平台的特性。

  QEMU 是一套由法布里斯·贝拉(Fabrice Bellard)所编写的以 GPL 许可证分发源码的模拟处理器,在 GNU/Linux 平台上使用广泛。Bochs,PearPC 等与其类似,但不具备其许多特性,比如高速度及跨平台的特性,通过 KQEMU 这个闭源的加速器,QEMU 能模拟至接近真实电脑的速度。

  

  QEMU 是一个托管的虚拟机镜像,它通过动态的二进制转换,模拟 CPU,并且提供一组设备模型,使它能够运行多种未修改的客户机 OS,可以通过与 KVM(kernel-based virtual machine 开源加速器)一起使用进而接近本地速度运行虚拟机(接近真实电脑的速度)。

  QEMU 还可以为 user-level 的进程执行 CPU 仿真,进而允许了为一种架构编译的程序在另外一种架构上面运行(借由 VMM 的形式)。

  目前,0.9.1 及之前版本的 qemu 可以使用 kqemu 加速器。在 qemu1.0 之后的版本,都无法使用 kqemu,主要利用 qemu-kvm 加速模块,并且加速效果以及稳定性明显好于 kqemu。

  QEMU 有两种主要运作模式:

  * User mode 模拟模式,亦即是用户模式。QEMU 能启动那些为不

  同中央处理器编译的 Linux 程序。而 Wine 及 Dosemu 是其主要目标。

  * System mode 模拟模式,亦即是系统模式。QEMU 能模拟整个电脑系统,包括中央处理器及其他周边设备。它使得为跨平台编写的程序进行测试及除错工作变得容易。其亦能用来在一部主机上虚拟数部不同虚拟电脑。

  QEMU的主体部份是在 LGPL 下发布的,而其系统模式模拟则是在 GPL 下发布;而 kqemu 这个加速器则是在免费但闭源的条件下发布的。使用 kqemu 可使 QEMU 能模拟至接近实机速度,但其在虚拟的操作系统是 Microsoft Windows 98 或以下的情况下是无用的。

  默认支持多种架构。可以模拟 IA-32 (x86)个人电脑,AMD 64 个人电脑,MIPS R4000, 升阳的 SPARCsun3 与 PowerPC(PReP 及 Power Macintosh)架构

  可扩展,可自定义新的指令集

  开源,可移植,仿真速度快

  在支持硬件虚拟化的 x86 构架上可以使用 KVM 加速配合内核 ksm 大页面备份内存,速度稳定远超过 VMware ESX

  增加了模拟速度,某些程序甚至可以实时运行

  可以在其他平台上运行 Linux 的程序

  可以储存及还原运行状态(如运行中的程序)

  可以虚拟网络卡

  对微软视窗及某些主机操作系统的不完善支持(某些模拟的系统仅能运行)

  对不常用的架构的支持并不完善

  除非使用 kqemu 或 KVM 加速器,否则其模拟速度仍不及其他虚拟软件,如 VMware

  比其他模拟软件难安装及使用

  以下的指令可以建立一个 500MB 大小的”qcow”格式的硬盘映像。

  qemu-img create -f qcow c.img 500M

  而以下的指令会使虚拟机器在 128MB 内存,使用 c.img 这个用以上介绍的指令所建立的硬盘映像及以 linux.iso 为光盘映像的情况下运行。注意,如果使用物理光驱,请将-cdrom linux.iso 这个参数变为 -cdrom /dev/cdrom 或您所用的光驱。

  qemu -clock dynticks -rtc-td-hack -localtime -hda c.img -cdrom linux.iso -boot d -m 128 -enable-audio -localtime

  如果想缺省使用全萤幕启动子操作系统,可作以上指令后再加上”-full-screen”这个参数,如想在运行时离开全萤幕,请使用组合键 Ctrl-Alt-F 便可。

  -L dir 指向 BIOS 和 VGA BIOS 所在目录

  -hda/-hdb/-hdd/-hdc “文件名” 使用“文件名”作为硬盘 0/1/2/3 镜像。

  -cdrom “文件名” 使用“文件名”作为光盘镜像(文件应该是 ISO 类型)。

  Windows 下的使用者,可以透过下列指令使用实体光盘:

  -cdrom //http://www.leixue.com/ask/x: -> x 代表光盘名称/位置

  例如:-cdrom //http://www.leixue.com/ask/e: -> 使用 E:\ 为光盘

  -fda/-fdb “文件名” 使用“文件名”作为磁盘 0/1 镜像。

  -boot [a|d|c] 使用磁盘<a>,光盘<d>,或者硬盘<c>启动。

  -m 容量指定内存的大小,单位是 MB。

  -soundhw c1,… 使用声卡设备。

  -soundhw ? 列出所有可使用的声卡

  -soundhw all 使用全部声卡

  -usb 允许使用 usb 设备。

  -usbdevice 名字 添加一个 usb 设备“名字”。

  -net nic 创建一块新的网卡。

  The QEMU 加速模组 (kqemu)

  kqemu 这个加速模组是 Fabrice Bellard 专为 Linux 核心而设计的闭源附加程序,目的是为了加速 QEMU 的子系统运行速度。在 x86 硬件上模拟 x86 的操作系统可达到主机速度。

  QEMU 加速模组 – 使用者限制条件

  QEMU 加速模组,kqemu,是一套闭源商业产品。可作个人使用而不受限制。但如果想使用光碟, ISO 映像或附加套件等方法分发 QEMU 加速模组,则必须联络作者并取得其同意后方可进行。

  QVM86

  现时除了以上的 kqemu 这个闭源的 QEMU 加速模组外,亦有一个在 GPL 下发布的 QEMU 加速模组。

上一篇:好听的英文个性签名唯美动听 恐惧是愚蠢的
下一篇:装修吊顶如何防止开裂 吊顶施工注意事项有哪些
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

返回顶部小火箭