虚拟化分类和实现原理

6、虚拟化分类

(1)完全虚拟化

直接将Hypervisor跑在0环内核态,客户机os跑在1环,一旦触发敏感指令,由0环的VMM进行捕获翻译,从而模

拟这些指令。而运行在1环的GuestOS永远都不知道自己是个虚拟机。是完全通过软件来实现的二进制翻译BT(Binary Translation)。也可以说叫基于软件的完全虚拟化。

1)CPU的权限级别分为0、1、2、3,级别依次降低,

2)其中0环跑的是OS,权限最高,可以执行特权指令。1环和2环跑的是驱动程序。3环跑的是应用软件,权限最低。

3)0环主要是内核态,3环是用户态

虚拟化的引入,就发生了变化

特点:虚拟机不知道自己是个虚拟机,所有的敏感指令店铺需要借助VMare(VMM)进行翻译,翻译成宿主机OS能够捕捉到的指令,反应速度很慢。所谓的虚拟机里面的操作,必须跟物理机完全一致就是,虚拟机例如创建文件等操作,需要经过VMM,向宿主机申请磁盘空间。

特权指令:对于一些敏感的管理和读写指令被定位为特权指令,只有处于Ring0才能执行。否则会丢异常

敏感指令:由于虚拟化的引入,由于OS现在处于Ring1所以不能执行特权指令,所以就由Ring0的VMM来执行,

注意:以上的这种叫做VMware BT(Binary Translation:二进制翻译技术),就是所谓的完全虚拟化/基于软件的完全虚拟化

(2)XEN虚拟化(半虚拟化)

虚拟化层位于硬件和0环之间,让guestOS直接跑在0环,并且对guestos操作系统进行修改,以便可以对虚拟化层进行超级调用。虚拟化层可以理解为domain0特权虚拟机,客户机直接跑在了0环,因此,速度要比基于软件的完全虚拟化要快。但是需要修改客户机操作系统,因此不支持windows。

1)需要修改客户机(修改虚拟机操作系统内核),修改的目的是为了提升虚拟机的性能

2)例如el5.1,el5.1xen,domain0是直接运行在操作系统的内核上,所以是本身的OS的一部分,其中特权虚拟机是管理基于XEN的虚拟机

3)ParaVirtualization:半虚拟化 / 类虚拟化

4)XEN不支持Windows,因为Windows是闭源的

5)特点:效率快,是相对于VMware,虚拟机有自知之明,知道自己是个虚拟机,特权指令敏感指令要经过domain0这个特权虚拟机来执行,必须升级内核才能使用。维护庞大的内核,所有内核模块,驱动程序都需要重新编译,重新安装,工作量及其大。一旦升级内核,和内核相关的所有的内核模块,驱动都需要重新编译。意味着要经常维护一套庞大的内核,这就是XEN问题所在。

(3)硬件辅助虚拟化

引入了root级别和非root级别。简单来说,硬件和vmm(hypervisor)都运行在root级别,通过cpu硬件直接捕获敏感指令集,完成虚拟化。包括英特尔虚拟化技术(VT-x)和AMD的AMD-V,它们允许 VMM在环0以下以新的根模式运行。特权和敏感的调用被设置为自动捕获到管理程序,从而消除了二进制转换和 paravirtualization半虚拟化。

总结:

(1)KVM是属于完全虚拟化的范畴

(2)完全虚拟化:基于软件的完全虚拟化方案是VMware,基于硬件的完全虚拟化方案是CPU硬件辅助虚拟化

(3)半虚拟化:XEN

注意:XEN是虚拟化的一种,而不是半虚拟化就是XEN。半虚拟化是为了解决早期的X86架构问题而提出的(因为早期的X86架构限制了CPU的性能),刚好XEN采用的就是。现在的XEN在有CPU硬件辅助的支持下,也支硬件辅助的完全虚拟化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/587826.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Transformer】深入理解Transformer模型2——深入认识理解(上)

前言 Transformer模型出自论文:《Attention is All You Need》 2017年 近年来,在自然语言处理领域和图像处理领域,Transformer模型都受到了极为广泛的关注,很多模型中都用到了Transformer或者是Transformer模型的变体&#xff0…

OpenCV实战 -- 维生素药片的检测记数

文章目录 检测记数原图经过操作开始进行消除粘连性--形态学变换总结实现方法1. 读取图片:2. 形态学处理:3. 二值化:4. 提取轮廓:5. 轮廓筛选和计数: 分水岭算法:逐行解释在基于距离变换的分水岭算法中&…

关于链表的一些问题

求链表的中间节点 可以定义两个指针,一个一次走两步一个一次走一步,当走的快的走到NULL时,走的慢的就是链表的中间节点。(此法求出的偶数个节点的链表的中间节点是它中间的第二个) 求倒数第K个节点 也可以定义两个指…

PowerShell Instal 一键部署gitea

gitea 前言 Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。 Gitea 最初是从 Gogs 分支而来…

新手快速上手掌握基础排序<一>

目录 引言 一:两数互换排序 1.画图分析 2.代码实现 二:三数换交换排序 1.例题举例 2.代码实现 3.再比如四数互换排序,也可以使用两数互换的方法来实现 ,但最好使用基础的排序方法(冒泡法,选择法) 三&#xf…

PointNet人工智能深度学习简明图解

PointNet 是一种深度网络架构,它使用点云来实现从对象分类、零件分割到场景语义解析等应用。 它于 2017 年实现,是第一个直接将点云作为 3D 识别任务输入的架构。 本文的想法是使用 Pytorch 实现 PointNet 的分类模型,并可视化其转换以了解模…

【python】爬取百度热搜排行榜Top50+可视化【附源码】【送数据分析书籍】

一、导入必要的模块: 这篇博客将介绍如何使用Python编写一个爬虫程序,从斗鱼直播网站上获取图片信息并保存到本地。我们将使用requests模块发送HTTP请求和接收响应,以及os模块处理文件和目录操作。 如果出现模块报错 进入控制台输入&#xff…

android开发调用百度地图api实现加载地图和定位

目录 一.踩的一些坑以及解决方法 1.权限声明不要少 2.地图初始化 3.定位问题 (1)监听器注册 (2)定位监听器类MyLocationListener的实现 (3)定位功能的调用 4.android studio连接真机调试问题 二.…

MySQL:索引

MySQL官方对索引的定义为: 索引 (Index) 是帮助MySQL高效获取数据的数据结构。 提取句子主干,就可以得到索引的本质:索引是数据结构。 1. 什么是索引,索引的作用 索引是一种用于快速查询和检索数据的数据结构,帮助mysql提高查询效率的数据…

ros2查看launch文件内需要提供的参数(接口):

格式:ros2 launch --show-args 包名称 launch文件名称 例如: ros2 launch --show-args ros_gz_sim gz_sim.python.py

行人重识别优化:Pose-Guided Feature Alignment for Occluded Person Re-Identification

文章记录了ICCV2019的一篇优化遮挡行人重识别论文的知识点:Pose-Guided Feature Alignment for Occluded Person Re-Identification 论文地址: https://yu-wu.net/pdf/ICCV2019_Occluded-reID.pdf Partial Feature Branch分支: PCB结构,将…

精致旅游网ROXANDREA 网页设计 html模板

一、需求分析 旅游网站通常具有多种功能,以下是一些常见的旅游网站功能: 酒店预订:旅游网站可以提供酒店预订服务,让用户搜索并预订符合其需求和预算的酒店房间。 机票预订:用户可以通过旅游网站搜索、比较和预订机票…

JavaScript 工具库 | PrefixFree给CSS自动添加浏览器前缀

新版的CSS拥有多个新属性,而标准有没有统一,有的浏览器厂商为了吸引更多的开发者和用户,已经加入了最新的CSS属性支持,这其中包含了很多炫酷的功能,但是我们在使用的时候,不得不在属性前面添加这些浏览器的…

Java项目:102SSM汽车租赁系统

博主主页:Java旅途 简介:分享计算机知识、学习路线、系统源码及教程 文末获取源码 一、项目介绍 汽车租赁系统基于SpringSpringMVCMybatis开发,系统使用shiro框架做权限安全控制,超级管理员登录系统后可根据自己的实际需求配角色…

uniapp的css样式图片大小截图展示

目录 截取图片前截取图片后第一种方式&#xff1a;代码第二种方式&#xff1a;代码最后 截取图片前 截取图片后 第一种方式&#xff1a;代码 <view class"swiper-box-img"><image class"swiper-box-img-img" :src"item.file_path" mod…

Windows系统历史版本简介详细版

学习目标&#xff1a; 目录 学习目标&#xff1a; 学习内容&#xff1a; 学习产出&#xff1a; Windows 11的全新用户界面设计&#xff1a;学习新的任务栏、开始菜单、窗口管理等界面元素的使用与操作。 Windows 11的新功能和特点&#xff1a;学习新的虚拟桌面、Microsoft Team…

【Latex错误:】Package fontspec: The font “SIMLI“ cannot be found. LaTex [行 37,列1]

【Latex错误&#xff1a;】Package fontspec: The font "SIMLI" cannot be found. LaTex [行 37&#xff0c;列1] 解决方案 错误详情如下图所示&#xff1a; 最近使用latex写毕业论文&#xff0c;效率是快&#xff0c;但是出些一些错误就难得搞了&#xff0c;上面的…

2023年终总结丨很苦,很酷!

文章目录 个人简介丨了解博主写在前面丨博主介绍年终总结丨博主成就年终总结丨博主想说年终总结丨学习芝士年终总结丨未来展望写在后面丨新年快乐 个人简介丨了解博主 主页地址&#xff1a;https://blog.csdn.net/m0_68111267 荣誉身份 ⭐2022年度CSDN 社区之星 Top6 ⭐2023年…

什么是SEO?

什么是SEO&#xff1f; SEO代表“搜索引擎优化”。这是通过非付费&#xff08;也称为“自然”&#xff09;搜索引擎结果来提高网站流量的质量和数量以及品牌曝光率的做法。 尽管有首字母缩略词&#xff0c;但 SEO 既关乎搜索引擎本身&#xff0c;也关乎人。这是关于了解人们在…

有了向量数据库,我们还需 SQL 数据库吗?

“除了向量数据库外&#xff0c;我是否还需要一个普通的 SQL 数据库&#xff1f;” 这是我们经常被问到的一个问题。如果除了向量数据以外&#xff0c;用户还有其他标量数据信息&#xff0c;那么其业务可能需要在进行语义相似性搜索前先根据某种条件过滤数据&#xff0c;例如&a…