Webhostingtalk资讯网

QEMU是什么?

2017-11-29 11:25
作者:admin

这次虚拟化技术之旅将着眼于QEMU,或者快速仿真器。与许多现代的虚拟化系统不同,顾名思义QEMU是一个仿真器,因此它能够模拟许多系统和硬件组件。

QEMU模拟虚拟化

虽然Xen和KVM之类的虚拟化系统依赖于将主机计算机的资源划分为不同的客户操作系统,但QEMU模拟的是另一个系统。仿真器涉及到在客户系统和实际硬件之间充当接口的软件。从客户的角度来看,仿真器显示了在系统被模拟的系统中通常看到的所有硬件接口。模拟器没有直接在底层硬件上执行的代码,而是将仿真系统的指令解释为底层硬件可以执行的指令。这意味着通过模拟的过程,一个系统的软件可以在运行在不兼容的硬件上的模拟器上运行。

要模拟一个系统的主机上的系统开销,就需要付出代价。这意味着主机系统将比客户系统更强大,以供客户以任何可用的速度执行。由于这种成本,仿真通常允许被用于使用最初的软件,因为原始硬件很难获得或购买。就像在与主机的兼容硬件上运行的客户一样,通过管理程序进行虚拟化可以提供更好的性能。

QEMU仿真:硬件平台、外围设备和用户模式

QEMU能够模拟许多不同的硬件平台,包括x86 PC、PowerPC平台,如PowerMac、ARM的系统,如Nokia N800和Palm钨电子PDA,以及SUN SPARC系统。除了这些系统的核心硬件之外,QEMU还提供了许多不同的附加模块,如显卡、声卡、网络设备、存储设备和控制器、串行/并行/usb设备和内存设备。这意味着在许多情况下,全部和完全操作的计算机可以被模拟和使用来运行它们的原始软件。

由于其模仿各种外围设备的能力,QEMU经常被用于联合XEN和KVM虚拟机监控程序提供虚拟机与模拟外设交互的能力,提供不能通过纯粹的网络虚拟化的网络和声音等功能。在这些场景中,QEMU简单地为这些外围设备提供模拟的硬件接口,将客户系统的代码执行管理留给管理程序本身。

通过QEMU提供的一个有趣的附加功能是执行用户模式模拟的能力。这意味着QEMU允许操作系统运行可能已编译为不同硬件平台的软件,而不是模拟包括操作系统在内的完整系统。举个例子来说,就是在64位x86 Linux系统上运行一个32位ARM Linux系统的软件二进制文件。不过,这是一个很有限的特性,因为虽然QEMU可以在Linux、Windows、UNIX和macOS上运行,但这一特性只适用于Linux系统和一些UNIX系统。

快照磁盘映像

另一个方便的特性是能够使用磁盘映像的快照。当您创建一个快照映像文件时,您将对磁盘映像的未来更改写入快照映像,而原始磁盘映像文件仅被读取为只读。这意味着如果在任何时候您希望在更改后返回原始磁盘映像,则可以访问并引导原始映像。然而,一旦对原始映像做了任何更改,它所做的快照将不再可用。

与许多基于Linux的工具一样,QEMU是通过命令行界面来控制的,它可以使一些用法变得不直观和复杂,并且可以使用大量可用的选项。幸运的是,有一些可用的工具比如虚拟机管理器,它们可以提供一个图形界面从而使事情更容易启动。

本文由WHT资讯网(虚拟主机评测http://news.webhostingtalk.cn)编译,转载请注明出处。

相关文章推荐:使用简单Linux命令搭建KVM云环境

网友评论
暂无评论!