image.png

什么是Hypervisor

Hypervisor,又称虚拟机监视器(英语:virtual machine monitor,缩写为 VMM),是用来建立与执行虚拟机器的软件、固件或硬件。

被Hypervisor用来执行一个或多个虚拟机器的电脑称为主体机器(host machine),这些虚拟机器则称为客体机器(guest machine)。hypervisor提供虚拟的作业平台来执行客体操作系统(guest operating systems),负责管理其他客体操作系统的执行阶段;这些客体操作系统,共同分享虚拟化后的硬件资源。

特点

Hypervisor有如下优点:
  1. 提高主机硬件的使用效率。
    因为一个主机可以运行多个虚拟机,这样主机的硬件资源能被高效充分的利用起来。
  2. 虚拟机移动性强。
    传统软件强烈捆绑在硬件上,转移一个软件至另一个服务器上耗时耗力(比如重新安装);然而,虚拟机与硬件是独立的,这样使得虚拟机可以在本地或远程虚拟服务器上低消耗转移。
  3. 虚拟机彼此独立。
    一个虚拟机的奔溃不会影响其他分享同一硬件资源的虚拟机,大大提升安全性。
  4. 易保护,易恢复。
    Snapshot技术可以记录下某一时间点下的虚拟机状态,这使得虚拟机在错误发生后能快速恢复。
Hypervisor的种类:
  1. bare-metal hypervisors:直接部署在主机硬件上,以管理硬件和guest machine。

    image.png

    尽管近年来有着诸如Docker、Kubernetes这样的基于容器技术的虚拟化技术让人眼前一亮,但是,要知道,这些容器均是部署在云中的Hypervisor之上的。

  2. hosted hypervisors:作为软件层部署在主机操作系统上,现在常用的VMware Player和VirtualBox就是这种类型。
    image.png

虚拟机监视器 (VMM) 和设备模型

Hypervisor可以分解为两部分: 虚拟机监视器 (VMM) 和设备模型。

VMM 响应设置虚拟机和掌控由客户操作系统执行诸如I/O访问的特权指令引发的陷阱(即虚拟机出口)。

设备模型,负责实现所有设备(如网卡,存储设备等)的 I/O 接口。

Hypervisor的体系结构如下图所示:

image.png

发展历史

在上世纪 70 年代,VMM的陷入 - 模拟模式被得到了正式的认可(Popek and Goldberg, 1973),但直到 90 年代中期才流行起来,用于在多核的机器上运行商业操作系统(Bugnion et al., 1997)。然而,当年更受欢迎的机器架构是英特尔的 X86,是没有虚拟化功能的,因为其在一些特权声明没有陷入(trap)功能。

在 1999 年,一家叫做VMware的公司做了一款Hypervisor, 它的目标就是在 X86下运行虚拟化。但是它实现的方式是使用二进制翻译,而不是指令的陷入,同时仍然直接在物理CPU上运行无特权的指令,解决了x86的虚拟化问题(Adams and Agesen, 2006),这使得VMware虚拟机管理程序可以在虚拟机的 x86 硬件上运行未修改的商业操作系统,而不会影响性能。

在 2003 年,又出现了叫做Xen的Hypervisor,它使用了完全不同的方法来解决X86的虚拟化问题,放弃了二进制翻译的做法,而是修改了客户操作系统的源代码来陷入到Hypervisor 中,以代替执行非陷入特权指令。

随后,英特尔和AMD分别在 2005 和 2006 年先后发布了带有虚拟化扩展的 X86架构的CPU,这又使得经典的陷入 - 模拟模式成为了可能。而且又一项技术出现了,那就是KVM,最初是为Linux而开发的,其作为Linux内核的一个子系统,与QEMU的设备模式协作,共同构成了完整的Hypervisor。最初,KVM项目提供的基于软件的设备模式从而模拟完整的硬件设备,后来又引入了virtio机制,从而实现了半虚拟化I/O设备模型。

参考

百度百科什么是HypervisorHypervisor的演化史及未来展望


http://www.taodudu.cc/news/show-4091566.html

相关文章:

  • hypervisor详解
  • QNX Hypervisor —— 基于优先级的调度
  • QNX Hypervisor —— 虚拟设备
  • QNX Hypervisor —— 设备
  • QNX Hypervisor —— 体系结构
  • QNX Hypervisor —— 物理设备
  • Hypervisor 技术的演进
  • Hypervisor
  • 虚拟化技术介绍 hypervisor简介
  • Hypervisor是什么
  • 2020-12-01 剖析 Linux hypervisor
  • Hypervisor介绍
  • 欧拉函数与欧拉定理
  • 触摸屏:Linux输入子系统:多点触控协议
  • Android仿射密码破译app
  • Android进阶:Android零基础进阶到高级架构师
  • 0w1_CTF_Writeup
  • POJ1091跳蚤(容斥 + 唯一分解 + 快速幂)
  • [论文解读] Concolic Testing for Deep Neural Networks
  • 【吐血整理】CSDN上各个大厂网络安全岗面试题及个人模拟面试经验精选总结
  • acm-基础数论学习笔记(下)
  • rsa 模数 指数转换 c语言_CTF中RSA的一些攻击思路
  • 欧几里得几何(1)Alpha
  • BZOJ-2242 计算器 快速幂+拓展欧几里得+BSGS(数论三合一)
  • UVA 10673 扩展欧几里得
  • 关于PEND SV的引入思考
  • 【数据结构基础_双向链表(有[*pHead]和[*pEnd])_(C++)】
  • 【数据结构基础_有[*pHead]和[*pEnd]的单向链表_(C++实现)】
  • 【SYS/BIOS】4.2节同步模块之事件模块
  • UCOSIII总结------消息队列(6)

Hypervisor小记相关推荐

  1. QNX Hypervisor管理程序

    QNX Hypervisor管理程序 借助 QNX® 管理程序,可以将具有不同操作系统,不同可靠性和安全要求的多个嵌入式系统,整合到单个片上系统 (SoC) 中.可以轻松地将未修改的代码移动到最新的硬 ...

  2. hypervisor简介

    什么是hypervisor hypervisor为操作系统提供独立的虚拟硬件平台,而虚拟硬件平台反过来又提供对底层机器的虚拟的完整访问.hypervisor之于操作系统类似于操作系统之于进程. 虚拟化 ...

  3. hp-ux 集群,内存 小记

    hp-ux 集群,内存 小记 -----查看hp 集群状态信息 # cmviewcl -v CLUSTER        STATUS       dbsvr          up          ...

  4. <笔记2>numpy的生成随机数用法小记

    numpy的生成随机数用法小记 numpy生成随机数 <以下图片来自黑马程序猿录播课程笔记> import numpy as np import random #random 生产随机数 ...

  5. 2021年中寻找新SAP项目机会小记

    2021年中寻找新SAP项目机会小记 最近一段时间,笔者有在酝酿下一个SAP项目机会.在与相关业界同仁洽谈项目机会的过程中,笔者发现自己还是在犯一些低级错误,感觉自己还是太不够理性和成熟. 1,事情没 ...

  6. K项目小记 - 项目已开工整整四周!

    K项目小记 - 项目已开工整整四周! 至今天,K项目已经推进到了第四周.这四周时间里,我们项目组全体成员经历了一段刻骨铭心的战斗时光.我们每天开会,谈流程,展示全球模板,找GAP.K项目是以客户总部的 ...

  7. 肺炎疫情期间购买口罩小记

    肺炎疫情期间购买口罩小记 谁都不曾想到,平时不怎么用到的口罩,在此次肺炎疫情期间,突然成为紧俏物资,重要物资. 早在疫情爆发初期,就在新闻报道里听说医护人员缺少医护物资,其中就有各种级别的口罩.此时笔 ...

  8. SAP MM 进销存报表优化小记

    SAP MM 进销存报表优化小记 笔者刚刚加入SY项目,就接到了SY集团上海总部SAP运维部门负责人的工作分配,说是有一只进销存报表,需要做一个优化,可能是需要重新设计重新开发. 笔者研究了他们现行进 ...

  9. linux 虚拟化之rhev Hypervisor 安装

    rhev hypervisor 必须要安装在真实物理机上,不能装在虚拟机上 rhev hypervisor 会重新配置物理机硬盘,上面的原有数据会全部损坏,所以如果硬盘有数据要先备份下来 每台hype ...

  10. Flex+J2EE 之小记

    Flex+J2EE 之小记 Jack. Wang 2008-9-10(本待完善...)  wbjeasygo@163.com  由于本人也是初学者(刚看了两天视频),所以请高手指点,这里赞下 blog ...

最新文章

  1. 容器与微服务从技术到艺术 你需要这场论坛
  2. 暑假集训中期测试 Problem D: 装箱问题2 (并查集)
  3. 简单的选项卡功能实现
  4. 小米裁员10%?官方回应:创业至今 从未裁员
  5. Python——常用Python包的学习笔记
  6. opencv4 c++ 提取图片中的白色区域_OpenCV4.5.0 更快的SIFT,更强的数字识别,以及色彩校正、深度融合...
  7. 蓝桥杯 历届试题 剪格子(dfs搜索)
  8. 编译OpenJDK8:[HotspotWrapper.gmk:45:/cygdrive/e/hub/openjdk/jdk8u/build/windows-x86_64-normal-server-
  9. 彻底删除win10易升
  10. 龙芯2f笔记本安装debian错误--bzcat
  11. task manager memory meaning
  12. ACM1880魔咒词典
  13. pyqt 取鼠标处文字_侧裙可拆按键随心装,黑爵GTi模块化游戏鼠标评测
  14. Ubuntu18.04和Win10共享文件夹
  15. 机器学习算法基础20210504-0529
  16. RGBA、YUV色彩格式及libyuv的使用
  17. 2018 湘潭邀请赛 K.2018
  18. CentOS7下安装jmeter5.3
  19. 百子作业 —— 中国邮递员问题
  20. android 启动图片 大小,ios 和安卓常用图标、启动图 尺寸

热门文章

  1. 中科探海的海底掩埋物三维实时成像声呐
  2. JS框架_(JQuery.js)夜晚天空满天星星闪烁动画
  3. 小蓝本 第一本《因式分解技巧》第四章 拆项与添项 笔记(第四天)
  4. 使用Flurry来统计和分析用户行为
  5. 目标检测之FCOS算法分析
  6. java 获取IP地址 无法获取到真实的IP地址
  7. 一文详解超纤皮和真皮的区别,别再傻傻分不清了
  8. sumifs 汇总_空标准单元格的SUMIFS公式
  9. 小工具:输出Houdini里节点间参数的差别
  10. 2022 年江苏省职业院校技能大赛(中职) 网络搭建与应用赛项公开赛卷