QEMU简介
参考:What Is the Difference between QEMU and KVM?
注意:上面参考文章有个错误,他把KVM算成类型一虚拟化,应该是类型2虚拟化。
关于类型一虚拟化和类型二虚拟化参考:Type 1 and Type 2 Virtualization
前言
QEMU和KVM之间的差异三言两语说不清楚。你无法说出他们是不同的,或者他们就是一个东西。或者他们都是Hypervisor
QEMU
QEMU本身并不是KVM的一部分,其本身就是以一个著名的开源虚拟机软件。QEMU是在用户空间运行的类型2 Hypervisor,用于执行硬件虚拟化,例如磁盘,网络,VGA,PCI,USB,串行/并行端口等。 它的灵活性在于它可以通过动态二进制转换(DBT)模拟CPU,允许为给定处理器编写的代码在另一个处理器上执行。 尽管QEMU可以独立运行 并 模拟虚拟机运行所需要的所有资源,但由于所有仿真都是在软件中执行的,因此速度非常慢。
与KVM关系
KVM是Linux内核的一个模块。 它是类型1型Hypervisor,仅支持硬件虚拟化(Intel VT或AMD-V)。上面说到QEMU运行速度慢,主要原因是Hypervissor模拟CPU的话(vCPU),针对vCPU的指令 与 针对物理CPU的指令 之间存在转换关系,这个转换关系必须有Hypervisor来做。可以想象这会对性能产生巨大影响。KVM仅支持硬件虚拟化,Intel VT 或 AMD-V 使vCPU的指令直接运行在物理CPU。这部分功能如果给QEMU的话,就会对QEMU的虚拟机提供硬件加速功能。事实上,KVM与QEMU的确这么做了,早期QEMU下面新建个了分支,QEMU-KVM,主要就是加入KVM给QEMU硬件加速特性。后来这两个分支合并了,现在你直接下载QEMU的代码就是支持KVM的,因此现在QEMU是加上是含有以前QEMU-KVM特性的。
QEMU简介的更多相关文章
- KVM和QEMU简介
KVM/QEMU简介 KVM虚拟机是基于linux内核虚拟化,自linux2.6.20之后就集成在linux的各个主要发行版本中.它使用linux自身的调度器进行管理,所以相对于xen,其核心源码很少 ...
- Qemu事件处理机制简介
Qmeu 采用了基于事件驱动的架构,所有的事件都在一个事件循环(event loop)中被处理,系统中默认的事件循环是在main-loop.c 中的主循环(main loop).我们也可以使用 –ob ...
- qemu 参数简介
参数 示例 说明 -hda -hda /data/windows.img 指定windows.img作为硬盘镜像 -cdrom -cdrom /data/windows.iso 指定windows.i ...
- kvm/qemu/libvirt学习笔记 (1) qemu/kvm/libvirt介绍及虚拟化环境的安装
kvm简介 kvm最初由Quramnet公司开发,2008年被RedHat公司收购.kvm全称基于内核的虚拟机(Kernel-based Virtual Machine),它是Linux的一个内核模块 ...
- 云计算之KVM简介(一)
云计算之KVM简介(一) 因为很多人会将云计算和虚拟化弄混,我下面为大家介绍一下 云计算指的是资源使用和交互的一种模式 虚拟化指的是技术,可以将物理计算机虚拟成多个逻辑计算机(VMware) 他俩是 ...
- 剖析 Linux hypervisor--KVM 和 Lguest 简介
慢慢弄清楚.. M. Tim Jones, 顾问工程师, Emulex Corp. M. Tim Jones 是一名嵌入式软件工程师,他是 Artificial Intelligence: A S ...
- KVM架构及模块简介
1.简介 2.架构 3.KVM模块及QEMU 一.简介 KVM(Kernel Virtual Machine)基于内核的虚拟机.阿维·齐维迪(Avi Kivity)在一家名为Qumranet的初创企业 ...
- 001.Ceph简介概述
一 Ceph简介 Red Hat Ceph是一个分布式的数据对象存储,系统设计旨在性能.可靠性和可扩展性上能够提供优秀的存储服务.分布式对象存储是存储的未来,因为它们适应非结构化数据,并且客户端可以同 ...
- KVM虚拟化技术(一)虚拟化简介
一 .虚拟化 虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行.虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程.CPU的虚拟化技术可以单CPU模 拟多CPU并行,允许一个平台同时运行多个 ...
随机推荐
- osg指定向量旋转指定角度
向量AB,沿着n旋转10度 osg::Vec3 left = AB*osg::Matrix::rotate(osg::inDegrees(10), n); osg::Vec3 right = AB*o ...
- sudo passwd root:没有相关指令
在linux里如果想要修改密码,就输入这个指令,但是会出现没找到这个指令,是因为环境变量里没有passwd. 解决:查找passwd的位置,sudo find / -name passwd 然后进入p ...
- IDEA中不编译src/main/java目录下的*.xml文件
使用idea构建maven项目时不编译src/main/java目录下写的mapper.xml文件,这是找到pom.xml文件,在<build>节点下添加如下代码: <!-- map ...
- jwplayer :若请求不到流,则页面一直转圈请求效果
思路: 利用jwplayer onPlay(播放) .onError(出错)事件. 页面:背景图为黑色,嵌入一张背景为黑色的 git 动态图,加载页面时隐藏. 流程:若进入到onPlay 方法,则说明 ...
- prettier
prettier,是一个自以为是 Opinionated 的代码格式化工具,用来批量处理旧代码的统一. 涉及引号,分号,换行,缩进. prettier 支持我们大前端目前大部分语言处理,包括 Jav ...
- [LeetCode] 534. Design TinyURL 设计短网址
Note: For the coding companion problem, please see: Encode and Decode TinyURL. How would you design ...
- Kubernetes 控制器之 Service 讲解(七)
一.背景介绍 我们这里准备三台机器,一台master,两台node,采用kubeadm的方式进行安装的,安装过程大家可以参照我之前的博文. IP 角色 版本 192.168.1.200 master ...
- 本地dev环境,运行时用node模块自动读取并整合文件
const http = require('http'); const fs = require('fs'); const path = require('path'); const glob = r ...
- linux根据进程名终止进程
2017年09月25日 19:44:32 aladdin_sun 阅读数 5235 linux根据进程名终止进程 实验环境 操作系统:CentOS Linux release 7.3.1611 ( ...
- 解决dubbo注册zookeeper默认内网ip注册
前端时间做新项目的时候遇到一个dubbo的一个问题,在我们项目搭建好后使用了其他同事的支付服务,支付服务架构的方式使用了dubbo服务的方式,使用zookeeper作为注册中心,我们新项目使用dubb ...