全虚拟化vs半虚拟化

别再傻傻分不清了!一图搞懂VMware ESXi和VirtualBox背后的虚拟化架构差异 本文深入解析VMware ESXi和VirtualBox的虚拟化架构差异,通过生活化类比帮助读者理解裸金属架构(Type-1 Hypervisor)和宿主型架构(Type-2 Hypervisor)的核心区别。文章详细对比了性能开销、适用场景及技术演进,并提供了ESXi和VirtualBox的实战配置指南,助力开发者根据需求选择最佳虚拟化方案。 阅读详情
 尊重原著,转载请注明转载地址。

转自:http://zhumeng8337797.blog.163.com/blog/static/100768914201122025837742/

 

PV vs. FV
PV(Para-Vritralization)和FV(Full-Vritralization)的差别,主要以guest OS的硬件仿真程度做区分。

FV:FV是一般较常看到的作法,所有的guest OS完全不会看到实际的硬件为何,只能使用由Supervisor所提供的所有虚拟硬件,因此,在这种机制下,guest OS动作的性能一定会大受虚拟接口的影响。另外还有一个特点,就是因为完全仿真的关系,不支持新的技术,连ACPI开关机的机制都无法使用,也就是当使用者在FV的guest OS下,若直接触动关机的按钮(这里的按钮是由VMM所提供的,不是主机上的)会直接断电,而不会进行关机程序。

PV:至于PV的作法,有鉴于一般Virtual Machine工具都是以完全仿真的方式,造成性能上的降低,因此,XEN在设计上,希望各操作系统可以在开发时就已经将XEN的技术包括进去,这样在使用时,就可以用局部仿真的方式,让操作系统可以直接使用到硬件中的CPU、内存等,而不需要通过XEN做仿真的操作。

 

这样,若硬件都是由Virtual Machine仿真出来的,性能自然会变得比较慢,所以XEN所主推的概念就是,当操作系统默认支持XEN时就可以通过XEN的机制,直接使用到底层的硬件,而不是每个OS都要通过Hypervisor的接口,性能上就可大为提高。

在PV与FV的安装上,对CPU的要求是有差异的。以PV而言,因为OS原本就支持XEN,所以不需要经过特殊的处理步骤,因此,对CPU来于,没有特殊的要求,基本上都可以使用。


但FV就不同,因为FV模式是以完全仿真的方式进行,所以CPU必须要特别将此功能加入到CPU的核心中,因此,CPU是有特殊需求的。在Intel与AMD中针对Virtual Machine所加入的功能名称不同,分别为Intel VT与AMD-V。

在目前Linux的世界,XEN并不是唯一的,除了XEN这一架构外,另外还有一个KVM(Kernel based Vitrual Machine),从2.6.20版本之后的Linux Kernel就支持其功能。因为KVM的做法是以原本Kernel为依据,只要将其module加载即可使用,唯一较XEN弱势的是KVM以单一Full Virtuallization为服务方式。


资料来源:http://en.opensuse.org/Virtualization_Terminology

 

从以上看来,我们现在用的vsphere是一个完全虚拟化的,因为它完全依赖于CPU的虚拟技术,这样它的性能有30%的区别也不奇怪。sun XVM也是基于Hypervisor技术,那天sun那人说的很厉害,我们看结果也会跟vmware差不多。

以上今天早上发给我的boss,现在需要改正一下,vsphere是支持半虚拟化技术的。

 

启用了 VMI 的可用内核包括 Ubuntu 7.04 (Feisty) 或更高版本。
使用 32 位 Intel x86 系统的标准映像。VMI 当前仅支持 32 位客户机。
注意 :只有硬件版本 7.0 虚拟机支持 VMI。 

全虚拟化和半虚拟化

半虚拟化的意思是需要修改被虚拟系统的内核,以实现系统能被完美的虚拟在Xen上面。完全虚拟化则是不需要修改系统内核则可以直接运行在Xen上面。

VMWARE Workstation是全虚拟化,所以可以虚拟windows

XEN是一个半虚拟化解决方案,目前暂不支持虚拟windows,(在硬件的支持下可以做到,当CPU支持VT技术,新一代的intel和amd x86处理器已经支持了VT技术)


XEN需要修改被虚拟得操作系统,修改内核,

Xen采用了VT技术来实现计算机底层虚拟化功能,它很充分的发挥了硬件辅助虚拟化技术的优点,不再将虚拟机模型建立在真实机操作系统之上,而是在硬件平台上构建一套类似于中间件(并不是真正意义上的中间件)的软件逻辑层,所有操作系统都建立在这个“中间件”之上。

XEN的使用文档
http://www.linuxsir.org/main/?q=node/188


一、Xen是一款虚拟化软件,支持半虚拟化和完全虚拟化。它在不支持VT技术的cpu上也能使用,但是只能以半虚拟化模式运行。
二、半虚拟化的意思是需要修改被虚拟系统的内核,以实现系统能被完美的虚拟在Xen上面。完全虚拟化则是不需要修改系统内核则可以直接运行在Xen上面。
三、VMware是一款完全虚拟化软件。完全虚拟的弱点是效率不如半虚拟化的高。半虚拟化系统性能可以接近在裸机上的性能。
四、 Xen是由一个后台守护进程维护的,叫做xend,要运行虚拟系统,必须先将它开启。它的配置文件在/etc/xen/xend-config.sxp,内容包括宿主系统的类型,网络的连接结构、宿主操作系统的资源使用设定,以及vnc连接的一些内容。(如果你想增加一个虚拟网络设备的话,是需要在这里设定的)
五、/etc/xen/auto 的含义是如果你想让被虚拟系统随着宿主系统一同启动的话,就把虚拟系统的配置文件放到这个目录下面来。
六、/etc/xen/scripts 是些脚本文件,用于初始化各种虚拟设备,比如虚拟网桥等。(如果要增加一个虚拟网络设备,同样需要在此处调节)
七、在/etc/xen下面会有些配置文件,这就是虚拟系统引导时所必须的些文件,里面记录了引导和硬件信息。
八、Xen的配置工具有许多,我使用的是virt-manager(GUI)、virt-install和xm。第一个用于管理和安装系统,第二个只用于安装系统,第三个用于启动系统。

操作系统领域半虚拟化的实施步骤 在云计算时代,我们需要在一台物理服务器上同时运行多个"虚拟计算机"(虚拟机),就像在一个大房子里隔出多个小房间。半虚拟化(Para-Virtualization)是实现这一目标的关键技术之一,它比全虚拟化更高效,比容器更灵活。本文将聚焦半虚拟化的具体实施步骤,覆盖从硬件准备到驱动开发的全流程。本文将按照"概念理解→实施步骤→实战案例→应用场景"的逻辑展开。先通过生活案例理解半虚拟化是什么,再拆解具体实施的7大步骤,最后用Xen虚拟机的实际代码演示关键环节。半虚拟化(Para-Virtualization) 阅读详情

相关推荐

01-嵌入式入门-如何看原理图

最近由于找到的工作是偏于嵌入式方向,因此又重新开始学习已经丢弃两年的知识。新手学习知识感觉有一个通病:喜欢收集各种各样的视频、资料,网盘里收藏一大堆,但是却从没有打开看过,到头来还是个小白,只听说过几个概念,而实际却是不知所云,这就是所谓的"学习综合征"。而我也是其中的一员,最近痛定思痛,就准备根据一套资料沉下心学习下去,不再进入收集资料的大军。...

weixin_34010566的博客 4484

半虚拟化和全虚拟化的区别

1.全虚拟化比半虚拟化技术先出来 2.全虚拟化,客户机认为自己运行在硬件之上,优点:不需对客户机操作系统进行修改;缺点:消耗资源大 3.半虚拟化,客户机知道自己是运行在虚拟机上,缺点:需要对客户机操作系统进行修改,所以对不能修改的系统(windows系统)不支持;优点:消耗资源小性能好, 4.随着,CPU厂商对虚拟化技术的支持越来越好(Intel引入Intel-TV技...

明确,简单,优雅 1万+

金融波动率的“捕手”:GARCH模型,揭秘市场波动的“聚集密码”

摘要: GARCH模型(广义自回归条件异方差)是金融时间序列分析中用于捕捉“波动聚类”现象的核心工具。传统模型(如ARIMA)无法刻画金融数据的时变波动特性,而GARCH通过建模条件方差的动态变化(如$\sigma_t^2 = \omega + \alpha \varepsilon_{t-1}^2 + \beta \sigma_{t-1}^2$),精准预测波动率。Python实战显示,GARCH能有效拟合模拟金融数据的波动聚类,残差无自相关,验证了其优越性。该模型在波动率预测、风险价值(VaR)计算和期权定

u010257409的博客 2055

全虚拟化和半虚拟化的特点和区别

缺点:客户机操作系统的内核不能够直接管理底层硬件,内核需要通过Hypervisor管理底层硬件需要有转换开销,性能比半虚拟化要弱。全虚拟化是通过客户机和宿主机之间一个虚拟化逻辑层Hypervisor来完全模拟底层硬件细节。半虚拟化是通过实现修改的客户机操作系统内核共享宿主机底层硬件来实现。优点:操作系统内核不需要做特殊配置,部署便利,灵活,兼容性好。半虚拟化需要更改系统内核,而全虚拟化不需要更改系统内核。

梁小布的博客 6364

39文章解读与程序——EI\CSCD\北大核心《基于两阶段鲁棒优化算法的微网多电源容量配置》已提供下载资源

电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python,机器学习,计算机视觉,深度学习,神经网络,数据挖掘领域.《《《《《《《《更多资源还请持续关注本专栏》》》》》》》《《《《《《《《更多资源还请持续关注本专栏》》》》》》》论文与完整源程序_电网论文源程序的博客-优快云博客。电网论文源程序-优快云博客。

LIANG674027206的博客 1208

「转载」vaptcha 等手势验证码图像识别与轨迹提取(思路)

作者:文安哲 从博客重开以后就说要更文章,鸽了蛮久了,赶紧补上一篇嫖嫖各位老公的流量。 最近看群里面大家讨论研究手势验证码比较多,然后我也顺带研究做了一下,给各位老公们分享一下做的过程。 首先,一起来康康手势验证码长啥样! 大概就是长这个样子,需要按照图像中的那条轨迹再图片上滑动,不得不说这类验证码确实体验感拉满,让人很想立马关掉这个网站。 那么言归正传,这类验证码该怎么做识...

AI悦创·编程私教1v1 3598

【虚拟化】内核级虚拟化技术KVM介绍,全/半虚拟化的区别,使用libvirt搭建虚拟化平台(go/java/c++)

【虚拟化】内核级虚拟化技术KVM介绍,全/半虚拟化的区别,使用libvirt搭建虚拟化平台(go/java/c++) 文章目录 1、虚拟化技术分类与架构(KVM,Xen),全/半虚拟化的区别 2、libvirt介绍 3、使用libvirt搭建虚拟化平台

小哈里的博客 3958

手机如何高效辅助林业调查

手机如何高效辅助林业调查 很多林业工作者将栅格类型的地形图处理后导入平板电脑,在林地使用平板电脑加载小班矢量图,辅助林业调查。但是,如果没有地形图底图,这种方法可能就有难度,而且最重要的是,大部分林地工作者没有能力配置平板电脑。大凡林业基层工作者在林地调查时,除调查记录本等部分纸质材料外,都必然携带手机和水杯,此外其他设备已经成为累赘,尤其是炎热的夏季在杂灌丛生的林地进行调查作业。因此,使用手机...

xu780820的博客 3077

半虚拟化技术

半虚拟化与全虚拟化的区别:   全虚拟化:guest系统每一次对于硬件的请求,都会由hypervisor(系统管理程序)接管,并转换成hypervisor的代码,由hypervisor负责对最终硬件进行操作。好处是guest系统每一次对于物理硬件的请求都会变为对hypervisor管理的虚拟硬件的请求,很好的隔离了guest系统与物理系统,当物理系统进行升级或者硬件更换时,无需修改guest系...

nicelemon的专栏 1076

解决DevExpress汉化后不生效的5个常见问题及修复方法

本文详细解析了DevExpress汉化后不生效的5个常见问题及修复方法,包括汉化包部署位置验证、运行时缓存清除、权限与执行上下文排查、版本兼容性检测以及开发环境配置检查。通过实战案例和具体操作步骤,帮助开发者快速解决汉化失效问题,提升开发效率。

weixin_29232121的博客 261

【同等学力】2025-数学✨

本文主要涵盖了谓词逻辑、集合论、图论和排列组合等多个数学领域的题目。在谓词逻辑部分,要求用全称量词和存在量词表达“没有两个人的指纹完全相同”。集合论部分涉及集合运算的证明,如证明(A-B)-C=(A-C)-(B-C)。图论部分包括计算给定10个点的联通图的边与面数。排列组合部分则要求计算从8个人中选6个并分为三组的不同方法。此外,还涉及偏序、长链、反链、二项式定理等相关内容,参考了多个优快云博客中的解题思路。

super_mochi1 679

从0到1理解虚拟化:半虚拟化vs全虚拟化,为何Windows“特殊”?

虚拟化技术通过资源抽象实现多系统共享硬件,主要分为全虚拟化和半虚拟化两种方式。全虚拟化(如KVM、VMware)借助硬件辅助或二进制翻译兼容所有系统,包括Windows,但存在性能损耗;半虚拟化(如Xen)通过修改客户机内核实现高性能,但因Windows闭源特性难以直接支持。微软通过Hyper-V提供类似优化方案。实际应用中,云服务多采用全虚拟化保证兼容性,高性能场景则倾向半虚拟化(主要支持Linux)。未来虚拟化技术将与容器融合,并借助硬件辅助进一步优化性能。

2301_77174919的博客 1282

从传感器到执行-智能家居 Agent 的感知-决策-执行闭环

本文提出了一种面向智能家居的感知型Agent架构,通过"感知-决策-执行"的闭环系统实现智能化控制。感知模块整合多源传感器数据,决策模块基于规则或机器学习模型生成控制策略,执行模块完成设备操作。系统能够实时监测环境参数和用户状态,自动调节温度、照明等设备,提升家居舒适度。该架构可扩展为多模态感知与强化学习相结合的智能系统,为智慧家居发展提供技术基础。

一键难忘的博客 1122

Docker容器 vs 全虚拟化

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34006468的博客 118

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

全虚拟化和半虚拟化解读

全虚拟化   全虚拟化(Full virtualization), 也称为原始虚拟化技术, 是另一种虚拟化方法. 该模型使用虚拟机协调客户操作系统 和原始硬件(见图2). 这里"协调"是一个关键词, 因为VMM在客户操作系统和裸硬件之间用于工作协调. 一些受保护的指令必须由Hypervisor(虚拟机管理程序)来捕获和处理. 因为操作系统是通过Hypervisor来分享底层硬件.

junmuzi的专栏 2500

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

全虚拟化和半虚拟化解读。

全虚拟化   全虚拟化(Full virtualization), 也称为原始虚拟化技术, 是另一种虚拟化方法. 该模型使用虚拟机协调客户操作系统和原始硬件(见图2). 这里"协调"是一个关键词, 因为VMM在客户操作系统和裸硬件之间用于工作协调. 一些受保护的指令必须由Hypervisor(虚拟机管理程序)来捕获和处理. 因为操作系统是通过Hyper...

weixin_33858336的博客 266

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

XEN 半虚拟化&&全虚拟化

半虚拟化,支持通过 http ftp nfs 方式进行安装。 全虚拟化,支持通过 iso文件  光驱   网络pxe 安装。 半虚拟化的意思是需要修改被虚拟系统的内核,以实现系统能被完美的虚拟在Xen上面。完全虚拟化则是不需要修改系统内核则可以直接运行在Xen上面。 PV vs. FV     PV(Para-Vritralization)和FV(F

linuxchyu的专栏 1210

半虚拟化与半虚拟化

半虚拟化和全虚拟化的区别 全虚拟化(Full virtualization), 也称为原始虚拟化技术, 是另一种虚拟化方法. 该模型使用虚拟机协调客户操作系统和原始硬件(见图2). 这里"协调"是一个关键词, 因为VMM在客户操作系统和裸硬件之间用于工作协调. 一些受保护的指令必须由Hypervisor(虚拟机管理程序)来捕获和处理. 因为操作系统是通过Hy...

weixin_34174105的博客 327

【虚拟化 VS 容器化】

虚拟化 VS 容器化

Davidwatt的博客 1406
上一篇: 虚拟化技术简介
下一篇: xen的安装
worldlight
博客等级 码龄15年 28粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值