【探索嵌入式虚拟化技术与应用】— 虚拟化技术深入浅出自学系列

🌈个人主页: Aileen_0v0
🔥系列专栏:【探索嵌入式虚拟化技术与应用】
💫个人格言:"没有罗马,那就自己创造罗马~"


目录

一、虚拟技术的发展历史

1.1传统技术的局限性:

​编辑 1.2云计算和万物互联技术的发展机遇:

1.3虚拟化技术介绍 

1.4虚拟机分类 

 二、VMM 

2.1什么是VMM

2.2VMM的模型分类

三、虚拟监视器的类型

3.1Type1虚拟机监视器

 3.2Type2虚拟机监视器

📝全文总结


一、虚拟技术的发展历史

计算机的运行通常离不开合适的操作系统的,而传统操作系统必须运行在具有特定的指令集(实现它的处理器)、内存系统和I/O系统的物理计算机上。

1.1传统技术的局限性:

(1)随着计算机技术飞速发展,计算机系统结构、操作系统及应用程序变得越来越复杂。

(2)传统操作系统上由于应用程序之间无法真正相互隔离,因此一个应用程序的错误可能导致整个系统的奔溃。

这些推动了90年代末 —— 新一轮虚拟计算机(Virtual Machine)技术的发展。一些基于 X86 架构的商用虚拟机产品的推出,如VMware Workstation 、 Virtual PC 等,使得虚拟计算机技术发展到一个新阶段。 

 1.2云计算和万物互联技术的发展机遇:

进入21世纪,计算机领域出现两大新的虚拟化应用场景  ——

(1)云计算

云计算技术发展,使得作为标准化产品的虚拟机作为服务,成为各家IT企业的选择

降低企业自建服务器的IT服务成本和投入

(2)万物互联 

万物互联技术把100亿数量级的嵌入式设备整合在一起,并通过云连接起来。

虚拟化技术也因此在嵌入式领域得到广泛应用,以此整合各种单一功能的设备,通过共同的接口接入互联网,构建高效、低成本的万物互联系统。


1.3虚拟化技术介绍 

Hypervisor 将一个物理的ISA转换成一个虚拟机 

左图:展示的是虚拟技术通过现有平台(机器)上添加一层虚拟机监控器(Virtual Machine Monitor , VMM)软件实现对系统的虚拟化,如:虚拟处理器,虚拟内存管理器(MMU)和 虚拟I/O系统等。

虚拟机监控器(VMM)也被称作 —— 超级管理者(Hypervisor)---> 主流叫法,它对应操作系统中的(普通)管理者(Supervisor),但Hypervisor 比 Supervisor 权力更大、更加基础。

如右图所示:从应用程序角度看,程序运行在虚拟机上与运行在其对应的实体计算机上一样,都运行在某一特定的指令体系(Instruction Set Architecture,ISA) 和 / 操作系统上。

1.4虚拟机分类 

基于左图所示指令体系接口抽象的虚拟机称为系统虚拟机(System VM)

基于 右图所示应用程序二进制接口(Application Binary Interface, ABI)抽象的虚拟机称为进程虚拟机(Process VM)


 二、VMM 

2.1什么是VMM

虚拟机监控器(VMM,Virtual Machine Monitor)一种软件或固件层,它在计算机硬件和操作系统之间运行,并允许多个虚拟机共享计算机资源。

虚拟机监控器的作用主要包括以下几点:

  1. 提供虚拟化的环境:虚拟机监控器创建虚拟机并提供虚拟化的环境,使得多个虚拟机可以在同一台物理计算机上同时运行。

  2. 管理虚拟机的资源:虚拟机监控器负责管理虚拟机的硬件资源,例如CPU、内存和硬盘等,以确保多个虚拟机之间可以平稳共享计算机资源。

  3. 提供安全隔离:虚拟机监控器提供安全隔离机制,使得不同虚拟机之间的操作系统和应用程序可以独立运行,互不干扰,从而提高了系统的安全性和稳定性。

  4. 提供虚拟机的管理工具:虚拟机监控器提供一系列的工具和界面,用于管理和监控虚拟机的运行状态,以及对虚拟机进行配置和管理。这些工具可以帮助管理员轻松地管理多个虚拟机。

 虚拟机监视器(Hypervisor)安装在物理硬件上的软件层,是实现虚拟化的核心组件。可以将物理机通过虚拟化分成许多虚拟机,它可以提供虚拟化的环境,管理虚拟机的资源,提供安全隔离和管理工具等功能,从而使得多个虚拟机可以在同一台物理计算机上高效地运行。。安装在虚拟机上的操作系统称为虚拟操作系统,也称为实例。有虚拟机监视器运行的硬件称为主机。虚拟机管理控制台(也称为虚拟机管理员(VMM))是一种计算机软件,可以轻松管理虚拟机。

 


2.2VMM的模型分类

三种类型的虚拟机监视器:Type1虚拟机监视器(Hypervisor Model)模型Type2虚拟机监视器 (Host-based Model) 模型 和 混合模型 (Hybrid Model)。

监控模型(虚拟机监控器模型 - Type - 1 Hypervisor)中:VMM直接运行在裸机上(无操作系统)。

采用该模型的VMM运行在处理器的最高特权级,而所有客户则运行在较低特权级,以便VMM可以截获所有客户机OS对系统资源的访问,从而实现对系统资源的虚拟化。

 宿主模型 (二型虚拟机监控器 - Type - 2 Hypervisor)中: VMM运行在宿主机OS(Host OS)内,作为宿主机操作系统的扩充

优点:VMM可以充分利用宿主机OS提供的设备驱动程序及底层服务,并且不需要去除原来机器上已经安装的操作系统,安装和部署较容易。

缺点:VMM的开发受限制于宿主机的OS接口,有些功能实现较困难或需要修改宿主机OS。

混合模型集两者的优点,既可以利用宿主机OS的现成设备驱动实现虚拟机的设备模型,又可以实现不同的安全模型,他的典型代表是微软公司的Hyper - V 和 Citrix 公司的 Xen 开源 Hypervisor。 


 

三、虚拟监视器的类型

3.1Type1虚拟机监视器


Type1虚拟机监视器也称为原生或裸机虚拟机监视器,可直接安装在硬件上,将硬件拆分为多个虚拟机,我们可以在其中安装虚拟机操作系统。虚拟机管理软件有助于管理此虚拟机监视器,允许根据当前资源要求在物理服务器之间自动移动虚拟机操作系统。
Type1虚拟机监视器的优势
容错:当实例所在的物理服务器出现故障时,虚拟机管理软件会将实例自动迁移到可用的服务器上,我们甚至可能都注意不到物理硬件出现故障用户不会遇到任何宕机,并且可以在维护和操作人员方便的时间修理或更换发生故障的硬件。
RAM容量的超量/动态分配:在服务器上运行多个实例时,分配给虚拟机的总RAM可以大于底层硬件的总物理内存容量。

RAM代表随机存储器(Random Access Memory),是一种计算机[硬件]组件,也被称为内存。 RAM用于临时存储正在运行的程序和数据,以便系统可以快速读取和写入数据,从而提高计算机的性能。 RAM是易失性存储器,这意味着当计算机关闭时,所有存储在RAM中的数据都将被删除。


 

 3.2Type2虚拟机监视器


Type2虚拟机监视器也称为主机虚拟机监视器,它安装在主机操作系统中,其优点是不需要虚拟机管理控制台。Type2虚拟机监视器不支持RAM的动态/动态分配,因此在为虚拟机分配资源时需要小心。


📝全文总结

本文主要讲解:
    本文主要从虚拟技术的发展历史开始,主要介绍了虚拟机的三种模型:监控模型、宿主模型、混合模型。

    今天的干货分享到这里就结束啦!如果觉得文章还可以的话,希望能给个三连支持一下,Ailleen 的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的最大动力!
 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Altium Designer学习笔记6

原理图库的制作,SMA元件的制作: 图形不是很重要,重要的是管脚的功能。 Design Item ID和Designator两个值是要注意的。 进行Place放置,切换到原理图工作区,测试下功能。 AD9851元件库制作: 不需要再新建原…

UE4 基础篇十四:自定义插件

文末有视频地址和git地址 一、概念 虚幻里插件都是用C++写的,C++包括.h文件和.cpp文件,.h头文件通常包含函数类型和函数声明,cpp文件包含这些类型和函数的实现, 你为项目编写的所有代码文件都必须位于模块中,模块就是硬盘里的一个文件夹,包含名为“Build.cs”的C#文件…

股票指标信息(六)

6-指标信息 文章目录 6-指标信息一. 展示股票的K线图数据,用于数据统计二. 展示股票指标数据,使用Java处理,集合形式展示三. 展示股票目前的最新的指标数据信息四. 展示股票指标数据,某一个属性使用Java处理五. 展示股票的指标数据,用于 Echarts 页面数据统计六. 展示股票指标数…

企业软件定制开发的重点是什么?|app小程序网站建设

企业软件定制开发的重点是什么?|app小程序网站建设 企业软件定制开发的重点是满足企业的独特需求,提供高效、灵活、可靠的解决方案。随着企业信息化程度的不断提升,越来越多的企业开始意识到传统的软件产品无法完全满足其实际需求&#xff0c…

安全领航,共筑敏捷开发新时代【云驻共创】

安全领航,共筑敏捷开发新时代。网络安全形势虽然严峻,但得益于企业安全意识的提升,近两年来遭受网络攻击的网站不断减少,普通网民的个人隐私及其他敏感数据得到了更多的保证。华为云基于自身多年的安全经验研发了可以帮助开发者实…

板块概念相关(五)

5-板块概念相关 文章目录 5-板块概念相关一. 查询所有的版块列表二. 查询所有的概念列表三. 查询所有的地域列表四. 查询所有的版块资金支持的类型五. 查询某个版块历史记录列表,形成图表形式六. 查询某个版块历史记录列表七. 查询某个版块今日资金,形成图表形式八. 查询该板块…

Java精品项目源码基于SpringBoot的樱花短视频平台(v66)

Java精品项目源码基于SpringBoot的樱花短视频平台(v66) 大家好,小辰今天给大家介绍一个樱花短视频平台,演示视频公众号(小辰哥的Java)对号查询观看即可 文章目录 Java精品项目源码基于SpringBoot的樱花短视频平台(v66)难度指数&…

MAX/MSP SDK学习05:A_GIMME方法

今天终于将A_GIMME方法部分的描述看懂了,上周因为太赶时间加上这文档很抽象一直没看懂。也就那么一回事,记录一下。 A_GIMME方法用于接收多个参数: #include "ext.h" // standard Max include, always required #include "…

git修改commit历史提交时间、作者

1、修改最近的几条记录,进入提交记录列表,修改提交记录模式 git rebase -i HEAD~3 // 修改最近的三条记录,顺序排列按提交时间升序 指令说明: pick:保留该commit(缩写:p) reword&#xff1a…

C语言进制转换(1112:进制转换(函数专题))

题目描述 输入一个十进制整数n,输出对应的二进制整数。常用的转换方法为“除2取余,倒序排列”。将一个十进制数除以2,得到余数和商,将得到的商再除以2,依次类推,直到商等于0为止,倒取除得的余数…

Windows + Syslog-ng 发送eventlog 到Splunk indexer

1: 背景: 装了window Splunk universal forwarder 的 window server 要把event log 送到linux 的splunk indexer 上,由于网络的原因,不能直接发送数据到splunk indexer的话,要利用跳板机来实现: 2:架构: 3: 先说明每个类型server 上的安装情况: Window server: 安装S…

鸿蒙系统扫盲(二):再谈鸿蒙是不是安卓套壳?

最近小米发布了澎湃OS,vivo发布了蓝OS,好像自从华为回归后,大伙都开始写自己的OS了,小米官方承认是套壳安卓,然后被大家喷了,于是鸿蒙是不是安卓套壳的话题又回到了大众的视野,今天在讨论下这个…

Delayed 延时任务

延时任务与定时任务的区别 延时任务,可以理解为定时任务的一种,但是他们是有区别的。 延时任务:将程序代码延时执行,执行完毕,即为结束。 定时任务:周期性执行任务。代码执行完毕后,并不意味着…

基于单片机仓库温湿度监测报警系统仿真设计

**单片机设计介绍,基于单片机仓库温湿度监测报警系统仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的仓库温湿度监测报警系统可以被设计成能够实时监测仓库内的温度和湿度,并根据预设…

pytest-base-url插件之配置可选的项目系统URL

前言 ①当我们的自动化代码完成之后,通常期望可以在不同的环境进行测试,此时可以将项目系统的URL单独拿出来,并且可以通过pytest.ini配置文件和支持pytest命令行方式执行。 ② pytest-base-url 是一个简单的pytest插件,它通过命…

关于在3dsmax中制作的模型导入UE后尺寸大小不对的问题

现象 在3dsmax中的基本单位为毫米 在UE中基本单位是厘米 我在3dsmax中创建一个长宽高均为1000mm的方块 然后导入到UE中的世界坐标原点 方块向X轴正方向移动100个单位100cm1000mm,按理来说,新方块的此时应该和旧方块是贴着的,但是现象确是两者…

UE5、CesiumForUnreal实现加载GeoJson绘制盒体(Box)功能(StaticMesh方式)

文章目录 1.实现目标2.实现过程2.1 实现原理2.2 具体代码2.3 应用测试2.3.1 材质2.3.2 蓝图测试3.参考资料1.实现目标 与之前基于StaticMesh创建Polygon和Wall类似,本文通过读取本地GeoJson数据,在UE中以staticMeshComponent的形式绘制出盒体Box,支持Editor和Runtime模式,在…

Idear 中签出git项目分支为灰色

--签出git上的项目 git clone git项目地址 --查看目录 $ dir --查看分支 $ git branch -a --签出分支 $ git checkout origin/v1.0 签出后,使用idear打开项目,项目关联git信息

集成仿真软件 PLEXOS 9.0 授权永久完美

PLEXOS是由能源示例发布的能源市场集成仿真软件。能源市场是一个充满活力和活力的市场,在这个大市场中有各种各样的数据和信息模型。观看每日市场发展和大量数据可能会使您感到困惑,并难以进行未来的投资和分析。使用集成和全面的方法是应对这一挑战的唯…

vivado产生报告阅读分析14-时序报告10

Vivado IDE 中的例外报告 “ Report Exceptions ”对话框 在 AMD Vivado ™ IDE 中 , 选择“ Reports ” → “ Timing ” → “ Report Exceptions ” ( 报告 > 时序 > 例外报告 ) 即可打开“Report Exceptions ”对话框。 从“…