前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hypervisor小记

Hypervisor小记

作者头像
李小白是一只喵
发布2020-04-24 09:25:51
9770
发布2020-04-24 09:25:51
举报
文章被收录于专栏:算法微时光

什么是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。

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

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

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

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

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

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

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

发展历史

在上世纪 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设备模型。

参考

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是Hypervisor
  • 特点
  • 虚拟机监视器 (VMM) 和设备模型
  • 发展历史
  • 参考
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档