From:http://blog.sina.com.cn/s/blog_605f5b4f0102uyjv.html

KVM是一种基于CPU硬件辅助的全虚拟化技术,没有CPU硬件虚拟化的支持,KVM无法工作。

KVM是Linux的一个内核模块,可以是用modprobe加载KVM模块。加载KVM模块后,才能进一步通过其他工具创建虚拟机。

仅有KVM模块是不够的,用户无法直接控制内核模块,需要一个用户空间的工具来辅助操作。开发者选择了已经成型的开源虚拟化软件QEMU。

QEMU也是一个虚拟化软件,可以虚拟不同的CPU。比如在X86的CPU上可以虚拟一个Power的CPU,并可利用它便一处可运行在Power上的程序。

KVM使用QEMU的一部分,并稍加改造,就成了可控制KVM的用户空间工具了。

所以,官方提供的KVM下载,包含两大部分三个文件:KVM模块、QEMU工具以及二者的合集。也就是说,你可以只升级KVM模块,也可以只升级QEMU工具。

QEMU是个独立的虚拟化解决方案,从这个角度它并不依赖KVM。 而KVM是另一套虚拟化解决方案,不过因为这个方案实际上只实现了内核中对处理器(Intel VT, AMD SVM)虚拟化特性的支持。

换言之,它缺乏设备虚拟化以及相应的用户空间管理虚拟机的工具,所以它借用了QEMU的代码并加以精简,连同KVM一起构成了另一个独立的虚拟化解决方案,不妨称之为:KVM+QEMU.。

 

KVM和QEMU的关系(转载)的更多相关文章

  1. kvm和qemu的关系

    KVM (Kernel Virtual Machine) is a Linux kernel module that allows a user space program to utilize th ...

  2. Linux虚拟化技术KVM、QEMU与libvirt的关系(转)

    说明:个人理解,KVM是内核虚拟化技术,而内核是不能使用在界面上使用的,那么此时QEMU提供了用户级别的使用界面,相互辅助.当然,单独使用QEMU也是可以实现一整套虚拟机,不过QEMU+KVM基本是标 ...

  3. KVM和QEMU简介

    KVM/QEMU简介 KVM虚拟机是基于linux内核虚拟化,自linux2.6.20之后就集成在linux的各个主要发行版本中.它使用linux自身的调度器进行管理,所以相对于xen,其核心源码很少 ...

  4. 虚拟化技术xen,kvm,qemu区别

    虚拟化类型 全虚拟化(Full Virtualization) 全虚拟化也成为原始虚拟化技术,该模型使用虚拟机协调guest操作系统和原始硬件,VMM在guest操作系统和裸硬件之间用于工作协调,一些 ...

  5. kvm与qemu

    载请注明出处: http://www.openext.org/2014/04/kvmqemu/ http://blog.csdn.net/muge0913/article/details/245577 ...

  6. kvm和qemu交互处理io流程

    1.IO虚拟化的分类 (1)全虚拟化:宿主机截获客户机对I/O设备的访问请求,然后通过软件模拟真实的硬件.这种方式对客户机而言非常透明,无需考虑底层硬件的情况,不需要修改操作系统. QEMU模拟I/O ...

  7. KVM通过qemu实现USB重定向

    KVM是通过qemu来支持USB设备的,可以在启动的时候就指定需要连接的USB设备,也可以系统启动后动态的添加删除.通过qemu的help可知,使用qemu的usb_add host:xxx:xxx来 ...

  8. 开始使用KVM和QEMU

    一. 简介 Quick Emulator(QEMU) 是QEMU/KVM虚拟化套件中的主要组成部分. 它提供了硬件的虚拟化和处理器的仿真. QEMU不用运行在内核,它是运行在用户空间的. QEMU支持 ...

  9. KVM,QEMU,libvirt入门学习笔记【转】

    转自:http://blog.csdn.net/julykobe/article/details/27571387 注:本文内容均来自网络,我只是在此做了一些摘抄和整理的工作,来源均有注明. 0.虚拟 ...

随机推荐

  1. Maven创建多模块项目(包括依赖版本号的统一更新)

    0.多项目工程的文件夹及依赖关系 bus-core-api为公共项目,app-web-ui依赖bus-core-api,app-desktop-ui依赖bus-core-api 1.创建一个父Mave ...

  2. EM算法和GMM模型推导

  3. wsdl2java在mac中点配置

    1.打开终端,默认是用户目录,输入以下命令: ls -a 显示隐藏文件 2.打开.bash_profile,输入以下命令 open .bash_profile 配置JAVA_HOME,AXIS2_HO ...

  4. 新装系统(CentOS7.4)环境初始化配置笔记

    新装系统(CentOS7.4)环境初始化配置笔记 一.概述 设备详情: Dell R730 服务器 (四个网卡,一根网线插在第2个网卡上) CentOS 7.4 x64 最小安装环境 二.网络环境配置 ...

  5. 【转】Understanding Inversion of Control, Dependency Injection and Service Locator Print

    原文:https://www.dotnettricks.com/learn/dependencyinjection/understanding-inversion-of-control-depende ...

  6. fabricjs line

    let line1 = new fabric.Line([lineleft, lineheight, lineleft, 0], {//终止位置,线长,起始位置,top,这里是从项目中截下来的我用了变 ...

  7. Codeforces #282 div 1 C Helping People 题解

    CF 282 C Helping People 题解 [原题] time limit per test 2 seconds memory limit per test 512 megabytes in ...

  8. 转载:JS进度条

    转载地址:http://blog.csdn.net/treeClimber/article/details/569974 代码在原基础上稍作改动,如下: <!DOCTYPE HTML PUBLI ...

  9. MySQL 系列教程(二) 你不知道的数据库操作

    本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网远程连接法 查看\创建\使用\删除\清空\修改 数据库表(是否可空,默认值,主键,自增,外键) 表内容的增删改查 where条件. ...

  10. STL学习笔记(变动性算法)

    本节描述的算法会变动区间内的元素内容.有两种方法可以变动元素内容: 1.运用迭代器遍历序列的过程中,直接加以变动 2.将元素从源区间赋值到目标区间的过程中加以变动 复制(copy)元素 OutputI ...