Qemu基于软件的完全虚拟化模式还有存在的意义吗?

KVM是linux的一个内核模块,提供基于硬件辅助的虚拟化,可以极大的提高虚拟机的性能。
结合KVM,再由QEMU实现I/O虚拟化,虚拟机可以模拟Intel and AMD (x86 and x86_64), PPC 440, PPC 970, S/390, ARM (Cortex A15, AArch64), MIPS32多种架构,并且达到近乎于物理机的性能效果。
在此前提下,QEMU基于二进制代码翻译的软件完全虚拟化就显得性能低下,毫无用武之地了,但这一模块依旧在不断更新维护着。
我想问基于软件的完全虚拟化存在的意义何在呢?或者说还存在任何应用场景吗?
欢迎大家讨论~

0

2个回答

(1)不同硬件架构的虚拟化,比如在小型机上跑PC的软件,或者在手机上跑PC软件,等等。总之cpu指令集不同,就要用qemu
(2)彻底的硬件仿真,这个对于调试开发比较有帮助,可以消除硬件的差异。一些软件比如说有反虚拟机监测的逻辑,用一般的虚拟机没法正确测试调试的,可以用
(3)虚拟机嵌套,在虚拟机里再开虚拟机,比如说用单个计算机模拟私有云的部署,用qemu会好一些。

1

(1)您的意思是,如使用kvm需要Intel-VT或AMD-V等机制来支撑,而小型机没有这些硬件辅助的支持,所以需要使用qemu。
但性能相对较弱的小型机有虚拟化的必要吗?
(2)这一点您说的是软件模拟可实现更为彻底的硬件仿真吗?
(3)KVM也支持虚拟机的嵌套,只需打开相应配置项即可,具体查询方法如下cat /sys/module/kvm_intel/parameters/nested
具体效果没有实际试过,但理论上kvm更好。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
看操作系统虚拟化原理总结篇——基于软件的完全虚拟化——内存
1
看操作系统虚拟化原理总结篇——基于软件的完全虚拟化——cpu
1.
虚拟化与Docker
虚拟化技术是一个通用的概念,在不同的领域有不同的理解。在计算机领域,一般指的是计算机虚拟化(computing virtualization),或通常说的服务器虚拟化。维基百科上的定义如下:在计算机技术中,虚拟化是一种资源管理技术,是将计算机的各种实体资源,如服务器,网络,内存及存储等,予以抽象,转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以用比原本的组态更好的方式来应用这些资源。
kvm虚拟化技术(一)
虚拟化技术基础 李家宜 jenny1228.li@foxmail.com 虚拟化技术基础 虚拟化历史 虚拟化技术简介 软件级虚拟化和硬件级虚拟化 半虚拟化及全虚拟化 操作系统级虚拟化、编程语言级虚拟化、程序库级虚拟化 虚拟机监视器VMM 虚拟机基本架构 类型一 类型二 KVM的架构 构建KVM运行环境 硬件配置 kvm模块加载 QEMU的运行工具 KVM管理工具libvi...
IO虚拟化及虚拟化模型
1、I/O虚拟化简介        I/O虚拟化(Input/output virtualization,简称IOV)是虚拟化的一种新形式,是来自物理连接或物理运输上层协议的抽象,让物理服务器和虚拟机可以共享I/O资源。        在现实生活中,可用的物理资源往往是有限的,虚拟机的个数往往会比实际的物理设备个数要多。为了提高资源的利用率,满足多个虚拟机操作系统对外部设备的访问需求,虚拟机监
虚拟化技术之QEMU
QEMU 1: 使用QEMU创建虚拟机一、QEMU简介 QEMU是一款开源的模拟器及虚拟机监管器(Virtual Machine Monitor, VMM)。QEMU主要提供两种功能给用户使用。一是作为用户态模拟器,利用动态代码翻译机制来执行不同于主机架构的代码。二是作为虚拟机监管器,模拟全系统,利用其他VMM(Xen, KVM, etc)来使用硬件提供的虚拟化支持,创建接近于主机性能的虚拟机。用户
kvm虚拟化之IO虚拟化
(文章来自作者维护的社区微信公众号【虚拟化云计算】)    QEMU-KVM作为一个VMM提供了全虚拟化环境,guest不经过任何修改就能运行在KVM环境中。不过KVM在IO虚拟化方面,使用QEMU纯软件的方式来模拟IO设备,效率并不高。在KVM中,要想提高IO虚拟化的效率,就要使用半虚拟化的方式:virtio。简单介绍全虚拟化和半虚拟化    在全虚拟化 中,guest操作系统运行在VMM之上,...
Linux_KVM_KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机
一 .KVM 简介 KVM (名称来自英语: Kernel-basedVirtual Machine 的缩写,即基于内核的虚拟机) , 是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor。KVM在2007年2月被导入Linux 2.6.20核心中,以可加载核心模块的方式被移植到FreeBSD及illumos上。 KVM在具备Intel VT或
虚拟化技术——Qemu
Qemu 是纯软件实现的虚拟化模拟器,几乎可以模拟任何硬件设备,我们最熟悉的就是能够模拟一台能够独立运行操作系统的虚拟机,虚拟机认为自己和硬件打交道,但其实是和 Qemu 模拟出来的硬件打交道,Qemu 将这些指令转译给真正的硬件。 正因为 Qemu 是纯软件实现的,所有的指令都要经 Qemu 过一手,性能非常低,所以,在生产环境中,大多数的做法都是配合 KVM 来完成虚拟化工作,因为 KVM 是...
Qemu之Network Device全虚拟方案
Qemu之Network Device全虚拟方案一:前端网络流的建立 KVM在I/O虚拟化方面,传统的方式是使用Qemu纯软件的方式来模拟I/O设备,其中包括经常使用的网卡设备。这次我们重点分析Qemu为实现网络设备虚拟化的全虚拟化方案。本主题从三个组成方面来完整描述,包括:1. 前端网络流的建立; 2. 虚拟网卡的创建; 3. 网络I/O虚拟化 in Guest OS。 本篇主要讲述“
浅谈Xen和半虚拟化技术
浅谈对Xen的理解
qemu的cpu 和内存虚拟化
转载:https://www.cnblogs.com/sammyliu/p/4543597.htmlKVM 介绍(2):CPU 和内存虚拟化学习 KVM 的系列文章: (1)介绍和安装(2)CPU 和 内存虚拟化(3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton)(4)I/O PCI/PCIe设备直接分配和 SR-IOV(5)libvirt 介绍(6)Nova 通过 ...
虚拟化中常见的三种硬盘模式
虚拟化中常见的三种硬盘模式 1.厚置备延迟置零: 默认的创建格式,创建过程中为虚拟磁盘分配所需空间。创建时不会擦除物理设备上保留的任何数据,没有置零操作,当有IO操作时,需要等待清零操作完成后才能完成IO,即:分配好空间,执行写操作时才会按需要将其置零。   2.厚置备置零(thick): 创建支持群集功能的厚磁盘。在创建时为虚拟磁盘分配所需的空间。并将物理设备上保留的数据置零。创建这种...
半虚拟化和全虚拟化的区别
全虚拟化(Full virtualization), 也称为原始虚拟化技术, 是另一种虚拟化方法. 该模型使用虚拟机协调客户操作系统和原始硬件(见图2). 这里"协调"是一个关键词, 因为VMM在客户操作系统和裸硬件之间用于工作协调. 一些受保护的指令必须由Hypervisor(虚拟机管理程序)来捕获和处理. 因为操作系统是通过Hypervisor来分享底层硬件.   图2. 全虚拟
虚拟化漏洞
KVM虚拟化新型漏洞CVE-2015-6815技术分析 360MarvelTeam2015-09-15共51132人围观,发现10个不明物体漏洞 云计算业务目前已经触及到多个行业,无论是云存储,云音乐等生活中随处可见的业务,就连银行金融,支付信息等服务也都和云紧密相关。 作为云服务的基础,虚拟化系统扮演着非常重要的角色,因为在云生态中主机的硬件
GPU 虚拟化
OpenStack 企业私有云的若干需求(1):Nova 虚机支持 GPU 本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持多租户和租户隔离 (multi-tenancy and tenancy isolation)混合云(Hybrid cloud)支持主流硬件支持、云快速交付 和 SLA 保证大规模扩展性支持私有云外围环境支持(包括支持
虚拟化技术的实现(完全虚拟化、硬件辅助虚拟化)
文章转载至网易云架构师刘超的个人微信号 内核,是指的操作系统内核。 所有的操作系统都有内核,无论是Windows还是Linux,都管理着三个重要的资源:计算,网络,存储。 计算指CPU和内存,网络即网络设备,存储即硬盘之类的。 内核是个大管家,想象你的机器上跑着很多的程序,有word,有excel,看着视频,听着音乐,每个程序都要使用CPU和内存,都要上网,都要存硬盘,如果没有一个大管...
qemu-kvm磁盘读写的缓冲(cache)的五种模式
 原文地址:https://www.cnblogs.com/jusonalien/p/4772618.html qemu-kvm磁盘读写的缓冲(cache)的五种模式 qemu-kvm磁盘读写的缓冲(cache)模式一共有五种,分别是 writethrough, wirteback, none, unsafe, directsync 当你对VM读写磁盘的性能有不同的要
GPU虚拟化笔记
声明:本博客欢迎转发,但请保留原作者信息!博客地址:http://blog.csdn.net/halcyonbaby内容系本人学习、研究和总结,如有雷同,实属荣幸!GPU虚拟化的意义满足以下场景:游戏、视频编辑、渲染、计算机辅助设计等方面对GPU的需要。当前GPU虚拟化的技术软件模拟比如qemu中现在模拟了vga显卡等。提供简单的显示功能。(少量寄存器、很小的显存)API转发将openGL或者Di
KVM虚拟化平台管理
virsh命令工具是提供管理各虚拟机的命令接口 – 支持交互模式,查看/创建/停止/关闭 .. .. 格式:virsh 控制挃令 [虚拟机名称] [参数] virsh nodeinfo#//查看KVM节点(服务器)信息 virsh list #//列出正在运行的虚拟机 virsh list --all #//列出所有的虚拟机 virsh net-list--all #//列出虚拟网络 ...
虚拟化、(完)全虚拟化、半虚拟化和准虚拟化技术个人总结
虚拟化技术:百度百科中的定义是这样的:虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。这个定义已经比较完整了。 (完)全虚拟化技术:完全虚
KVM面试前总结
1.框架 2,kvm各模式说明 3,
Virtio概述和基本原理(KVM半虚拟化驱动)
http://smilejay.com/2012/11/virtio-overview/ 5.1 半虚拟化驱动 5.1.1 virtio概述 KVM是必须使用硬件虚拟化辅助技术(如Intel VT-x、AMD-V)的hypervisor,在CPU运行效率方面有硬件支持,其效率是比较高的;在有Intel EPT特性支持的平台上,内存虚拟化的效率也较高。QEMU/KVM提供了全虚拟化
qemu_windows
qemu是一个很好的虚拟化软件,在windows下很好地虚拟化资源
虚拟化技术之设备直接分配(passthrough)
1、设备直接分配技术         如何提高虚拟化设备的性能问题是虚拟化领域长期的研究重点。如前所述,设备模拟模型会导致虚拟化性能大大下降;泛虚拟化设备模型虽然在性能上拥有一定的优势,但由于需要修改操作系统,具有局限性.。并且当前的两种I/O设备虚拟化模型已无法满足高速的数据交换需求,应运而生的就是另外一种设备虚拟化模型——设备直接分配模型。         传统的实现I/O虚拟化的技术
全虚拟化与半虚拟化的实现方式
目录目录 全虚拟化 软件辅助的全虚拟化 硬件辅助的全虚拟化 KVM虚拟机 半虚拟化全虚拟化不需要对GuestOS操作系统软件的源代码做任何的修改,就可以运行在这样的VMM中在全虚拟化的虚拟平台中,GuestOS并不知道自己是一台虚拟机,它会认为自己就是运行在计算机物理硬件设备上的HostOS。因为全虚拟化的VMM会将一个OS所能够操作的CPU、内存、外设等物理设备逻辑抽象成为虚拟CPU、虚拟内存、虚
配置基于Devstack的嵌套KVM虚拟化
本文为博主翻译文章,转载请注明出处Bob Hou: http://blog.csdn.net/minxihou 当使用类似KVM虚拟化技术时,有个我们可以利用的优势就是嵌套虚拟化。(例如在KVM上再跑一台KVM),在云环境中运行KVM的效率会比在QEMU环境中更快。Linux发行版中的内核默认没有开启这个嵌套虚拟化。本指南概括讲述如何在基于KVM虚拟化环境中配置启用嵌套虚拟化,如何利用嵌套虚拟化
虚拟化技术之KVM实战
虚拟化技术之KVM实战 一、走进云计算 云计算:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。 1.1 云计算的特点和优势 1)云计算是一种使用模式 2)云计算必须通过网络访
虚拟化:LXC, KVM
一,虚拟化:LXC容器,KVM 1,相关概念 Container:容器,基于容器的虚拟化技术起源于所谓的资源容器和安全容器。 (linux:OpenVZ,linux-VServer,FreeVPS.非linux:Solaris Zones,BSD jails,CoreOS,Dejs,Dynos,Docker) LXC:linux Container. LXC开源项目(sourceforg
5.5 USB虚拟化
本节分析qemu中usb 的虚拟化原理
全/半虚拟化、硬件/软件辅助的全虚拟化之间的区别与联系
全虚拟化 不需要对GuestOS操作系统软件的源代码做任何的修改,就可以运行在这样的VMM中 在全虚拟化的虚拟平台中,GuestOS并不知道自己是一台虚拟机,它会认为自己就是运行在计算机物理硬件设备上的HostOS。因为全虚拟化的VMM会将一个OS所能够操作的CPU、内存、外设等物理设备逻辑抽象成为虚拟CPU、虚拟内存、虚拟外设等虚拟设备后,再交由GuestOS来操作使用。这样的GuestOS...
Qemu-KVM基本工作原理分析
1、理解KVM与Qemu的关系       我们都知道开源虚拟机KVM,并且知道它总是跟Qemu结合出现,那这两者之间有什么关系呢?     首先,Qemu本身并不是KVM的一部分,而是一整套完整的虚拟化解决方案,它是纯软件实现的,包括处理器虚拟化、内存虚拟化以及各种虚拟设备的模拟,但因为是纯软件模拟,所以性能相对比较低。      而广义的KVM实际上包含两部分,一部分是基于LINUX内
AFL简要介绍以及QEMU模式的报错处理
AFL简要介绍:AFL由lcamtuf所开发。通过对源码进行重新编译时进行插桩的方式自动产生测试用例来探索二进制程序内部新的执行路径。简而言之,它采用了一个极其简单但是绝对可靠的,插桩代码导向的遗传算法。它使用一种自定义的边缘覆盖率来识别程序控制流的局部变化。整个算法的逻辑结构如下:也就是说,被选择出来的测试用例会进行周期性的删减,消除那些已经被更新的、更高覆盖率的废弃的测试用例,就这样反复测试。...
KVM网络虚拟化(二)
KVM网络虚拟化(二) KVM网卡虚拟化除了全虚拟化、Virtio外,还可以利用网卡PCI透传技术,SR-IOV技术,提供更高性能的虚拟化网卡。
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机
原文  http://sohudrgon.blog.51cto.com/3088108/1613148 一.KVM简介 KVM(名称来自英语:Kernel-basedVirtual Machine的缩写,即基于内核的虚拟机),是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor。KVM在2007年2月被导入Linux 2.6.20核
qemu-kvm 中断虚拟化
写写中断的东西,但是还是有些地方不理解,希望大家多多指教。   中断,这个概念相信大家已经不陌生了,我也没什么资格来介绍中断,就简单的说一下。我认为它从宏观上看可以分为软件部分和硬件部分。 软件部分: 软件部分在操作系统中实现,如Linux中断的x86,每一个中断对应一个中断门,中断门中包含中断处理函数(ISR或者别的)地址,优先级等等。CPU可以通过LIDT加载这个描述符表,跳转到指定的
qemu-kvm部分流程/源代码分析
所有流程图: www.baidu.com/p/ithinkwalk           2013-03-27 23:23 上传 下载附件 (511.41 KB)  qemu-kvm虚拟设备创建流程图
基于KVM、Xen、OpenVZ等虚拟化技术的WEB在线管理工具
KVM能基于WEB管理吧?有没有开源的?基于WEB创建,修改,动态迁移 能够管理KVM的工具太多啦。首先是单个资源的基础虚拟化管理,有开源的虚拟化工具集libvirt,通过命令行接口提供安全的远程管理,可管理单个系统。   然后是管理全部运行KVM的多个服务器,有两种:用Red Hat Enterprise Virtualization-Management,即RHEV-M(管理多
kvm随笔系列三: Qemu/kvm虚拟化相关开发组件
本文按Guest OS, VMM Host, Client三个层次,分别总结Qemu+KVM+Spice虚拟化组件
虚拟化中如何实现设备模拟?
在计算机虚拟化领域中,对设备进行模拟是虚拟化实现的基础。设备的模拟主要包括一下三个方面:设备状态的记录;设备的运行逻辑的模拟,包括不同状态之间的转换关系,状态转换时对其他设备的影响(没有的话当然最好);设备跟外界的交互接口,主要是各种总线接口或者I/O地址接口。说白了其实就是复杂一点的状态机。实现设备模拟可有两种方式,即纯软件模拟和硬件辅助的方式。纯软件模拟的方式即借助第三方软件的运行,对设备的状...
文章热词 虚拟化技术培训 BenchMark意义 虚拟化技术培训套餐 导块预测模式 机器学习
相关热词 基于android的陌生人交友软件 c# 软件编写 通讯模式 android原生开发还有生机吗 python完全教程 python学习意义