虚拟化的主流技术介绍

2023-10-26

虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机上可以运行不同的操作系统,并且应用程序都可以相互独立的空间内运行而互不影响,显著提高计算机的工作效率。

虚拟化实现了用软件的方法重新划分和定义了IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源的利用率,使资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。

虚拟化的目的就是要对IT基础设施进行简化,可以简化对资源以及对资源管理的访问。现在主流的虚拟化技术有:CPU虚拟化、网络虚拟化、服务器虚拟化、存储虚拟化和应用虚拟化。下面我们来主要介绍一下这几种虚拟化技术的基本原理:

  • CPU虚拟化

  通俗来讲,CPU虚拟化就是用单个CPU模拟出多个并行的CPU,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

  CPU的虚拟化技术是一种硬件方案,原因是纯软件虚拟化解决方案存在很多限制 。“客户”操作系统很多情况下是通过VMM(Virtual Machine Monitor,虚拟机监视器)来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问。(注意,大多数处理器和内存访问独立于VMM,只在发生特定事件时才会涉及VMM,如页面错误。)。在纯软件虚拟化解决方案中,VMM在软件套件中的位置是传统意义上操作系统所处的位置。如处理器、内存、存储、显卡和网卡等)的接口,模拟硬件环境。这种转换必然会增加系统的复杂性。支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。

       虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。另外,在纯软件VMM中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。

  虚拟化技术是一套解决方案。完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

虚拟化的主流技术介绍 的相关文章

  • C++外观模式

    外观模式 1 外观模式简介及应用场景 外观者模式其实就是相当于对一组子系统功能的组合 对外提供统一的简单接口的模式 当我们在实际开发中 一般情况下是一个单独的子系统对应的是一个独立的功能模块 但是随着业务功能的不断增加 对应子系统的迭代必然

随机推荐

  • CentOS8 服务篇4:FTP文件传输服务搭建与配置

    FTP 文件传输服务三种配置模式 匿名模式 本地用户模式 虚拟用户模式 安装ftp服务 安装完后再根据不同模式进行配置 root localhost yum repos d yum install y vsftpd ftp vsftpd是搭
  • Qt中qss样式表

    qss样式表是用于设置QT程序UI界面中控件的背景图片 大小 字体颜色 字体类型 按钮状态变化等属性 美化UI界面 实现界面和程序的分离 可以快速切换皮肤 1 基本语法 selector attribute value 说明 selecto
  • Java生成exe执行文件

    一 准备工作 下载可将jar包转换的工具EXE4J工具 下载地址为 https www ej technologies com download exe4j files 下载完成 直接点击下一步安装 直到安装完成 导出项目jar包 按以下步
  • javaFile类知识点总结

    1 File类 Java io File类是文件和目录路径名的抽象表示 主要用于文件和目录的创建 查找 删除等操作 File中的静态成员变量 pathSeparator与系统有关的路径分隔符 File pathSeparator 代表路径分
  • android系统删除apk的广播,研究androidapk安装卸载等产生的系统广播

    想更加清楚的了解 android 系统在安装 卸载时产生的系统广播 于是写了一个 demo 来做监听 BroadReceiver 配置如下 html 这里有一点要注意 需配置 否则收不到广播 1 当你第一次安装某个应用的时候 java 10
  • 干货

    SpringCloud的从整体架构上看 相对来说是完整的 庞大的 它不仅仅是一个基础性架构工具 它为微服务架构提供了一个 全家桶 的套餐 每一个模块关注各自的职能 并且能够很好地配合与协作 能够帮助入门者快速搭建起一套微服务架构的服务 内容
  • MyBatis之使用JSONObject代替JavaBean优雅返回多表查询结果

    项目中需要返回多个表的查询结果 比如user表中的用户信息和user个人的所在班的班级信息 目前我们有user实体类和class实体类 一般情况下如果是单表查询 比如查询user信息 那么查询的返回值就是一个user对象或一个user对象列
  • Qt_Qt报错multiple target patterns

    去看看pro文件中的路径是否有问题
  • ARM7的三级流水线过程

    看到汇编中很多关于程序返回与中断返回时处理地址都很特别 仔细想想原来是流水线作用的效果 所以 决定总结学习下ARM流水线 ARM7处理器采用3级流水线来增加处理器指令流的速度 能提供0 9MIPS MHz的指令处理速度 PS MIPS Mi
  • Android RxJava第一弹之原理详解、使用详解、常用场景(基于Rxjava2.0)

    Android RxJava第一弹之原理详解 使用详解 常用场景 基于Rxjava2 0 Android RxJava第二弹之RxJava封装库 RxJava Animation RxJava Glide Android RxJava第三弹
  • C语言数据结构复杂度

    文章目录 前言 什么是数据结构 什么是算法 算法效率 算法的复杂度 时间复杂度 时间复杂度的概念 大O的渐进表示法 常见时间复杂度计算举例 空间复杂度 常见复杂度对比 前言 从这篇博客开始为数据结构与算法的相关内容 数据结构比较难 博主建议
  • Leecode初级算法字符串——验证回文串

    给定一个字符串 验证它是否是回文串 只考虑字母和数字字符 可以忽略字母的大小写 说明 本题中 我们将空字符串定义为有效的回文串 示例 1 输入 A man a plan a canal Panama 输出 true 解释 amanaplan
  • tcp三次握手

    在TCP IP协议中 TCP协议提供可靠的连接服务 采用三次握手建立一个连接 第一次握手 建立连接时 客户端发送syn包 syn j 到服务器 并进入SYN SEND状态 等待服务器确认 第二次握手 服务器收到syn包 必须确认客户的SYN
  • Ubuntu18.04安装教程

    Ubuntu18 04安装教程 一 准备工作 1 下载 Ubuntu 镜像 2 制作U盘启动盘 3 给 Ubuntu 分配硬盘空间 二 安装 Ubuntu18 04 1 设置启动项 2 正式安装 1 选择语言 2 键盘布局 3 无线连网 4
  • Python 字典10种意想不到的用途

    Python 字典10种意想不到的用途 1 switch case语句 2 记忆化 3 稀疏矩阵 4 图表 5 状态机 6 计数频率 7 XML HTML 解析 8 配置文件 9 缓存 API 响应 10 编码和解码数据 源码 参考 Pyt
  • GIS gentools jar包使用

    package ghgf import java io File import java io IOException import java io Serializable import java net MalformedURLExce
  • 随机梯度下降求解svm(MATLAB)

    本文转载自 http blog csdn net orangehdc article details 38682501 随机梯度下降法 Stochastic Gradient Descent 求解以下的线性SVM模型 w的梯度为 传统的梯度
  • VTK学习之vtkProp

    vtkProp 渲染场景中数据的可视表达 Visible Depictions 是由vtkProp的子类负责 也就是说 数据想要进行可视化显示 需要一个转换过程 这个过程就是转换为vtkProp 这样才能进行渲染展示出来 而vtkProp子
  • 【Inception-v3模型】迁移学习 实战训练 花朵种类识别

    参考博客 TensorFlow 迁移学习 使用Inception v3 非常感谢这个博主的这篇博客 我这篇博客的框架来自于这位博主 然后我针对评论区的问题以及自己的实践增加了一些内容以及解答 github 代码 知识储备 迁移学习是将一个数
  • 虚拟化的主流技术介绍

    虚拟化 是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机 在一台计算机上同时运行多个逻辑计算机 每个逻辑计算机上可以运行不同的操作系统 并且应用程序都可以相互独立的空间内运行而互不影响 显著提高计算机的工作效率 虚拟化实现了用软件的方法重