【KVM】硬件虚拟化技术(详)

news2024/10/6 12:30:06

前言

大家好,我是秋意零。

经过前面章节的介绍,已经知道KVM虚拟化必须依赖于硬件辅助的虚拟化技术,本节就来介绍一下硬件虚拟化技术。

👿 简介

  • 🏠 个人主页: 秋意零
  • 🔥 账号:全平台同名, 秋意零 账号创作者、 云社区 创建者
  • 🧑 个人介绍:在校期间参与众多云计算相关比赛,如:🌟 “省赛”、“国赛”,并斩获多项奖项荣誉证书
  • 🎉 目前状况:24 届毕业生,拿到一家私有云(IAAS)公司 offer,目前已在实习
  • 💕欢迎大家:欢迎大家一起学习云计算,走向年薪 30 万
  • 💕推广:CSDN 主页左侧,是个人扣扣群推广。方便大家技术交流、技术博客互助

一、硬件虚拟化技术

硬件虚拟机技术:它是对CPU、内存、I/O等硬件进行的虚拟化技术。

2005年年末lntel发布的VT-x硬件虚拟化技术,以及AMD于2006年发布的AMD-V。

注意:KVM必须需要CPU的虚拟化支持,也就是VT-x和AMD-V

  • CPU 虚拟化技术:将一台物理服务器上的 CPU 功能虚拟化,使多台虚拟机可以在同一台物理服务器上运行;
  • 内存虚拟化技术:将物理服务器上的内存资源进行划分,使得每一台虚拟机都可以拥有自己的独立内存空间;
  • I/O 虚拟化技术:可以让每台虚拟机独享物理设备,并通过模拟 I/O 设备来完成设备间的数据通信。

注意,I/O虚拟化有四种方式,如下:

  • 设备模拟器:虚拟机监控器中模拟一个传统的I/O设备的特性,比如在QEMU中模拟一个Intel的千兆网卡或者一个IDE硬盘驱动器,在客户机中就暴露为对应的硬件设备。
  • 前后端驱动接口:虚拟机监控器与客户机之间定义一种全新的适合于虚拟化环境的交互接口,比如常见的virtio协议就是在客户机中暴露为virtio-net、 virtio-blk等网络和磁盘设备,在QEMU中实现相应的virtio后端驱动。
  • 设备直接分配:将一个物理设备,如一个网卡或硬盘驱动器直接分配给客户机使用,这种情况下I/0请求的链路中很少需要或基本不需要虚拟机监控器的参与所以性能很好
  • 设备共享分配:其实是设备直接分配方式的一个扩展。在这种模式下,一个(具有特定特性的)物理设备可以支持多个虚拟机功能接口,可以将虚拟功能接口独立地分配给不同的客户机使用。如SR-IOV就是这种方式的一个标准协议。

二、Inter硬件虚拟化技术发展

Inter硬件虚拟化技术可以分为3个类别:

  • VT-x技术:是指Intel处理器中进行的一些虚拟化技术支持,包括CPU中引入的最基础的VMX技术,使得KVM等硬件虚拟化基础的出现成为可能。同时也包括内存虚拟化的硬件支持EPT、VPID等技术。
  • VT-d技术:是指Intel的芯片组的虚拟化技术支持,通过IntelIOMMU以实现对设备直接分配的支持
  • VT-c技术:是指Intel的I/O设备相关的虚拟化技术支持,主要包含两个技术:一个是借助虚拟机设备队列 (VMDg) 最大限度提高I/O吞吐率,VMDq由Intel网卡中的专用硬件来完成;另一个是借助虚拟机直接互连 (VMDc)大幅提升虚拟化性能,VMDc主要就是基于SR-IOV标准将单个Intel网卡产生多个VF设备,用来直接分配给客户机。

总结

本章中,我们了解到硬件虚拟化技术的支持和发展。

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

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

相关文章

SpringBoot2.X整合集成Dubbo

环境安装 Dubbo使用zookeeper作为注册中心,首先要安装zookeeper。 Windows安装zookeeper如下: https://blog.csdn.net/qq_33316784/article/details/88563482 Linux安装zookeeper如下: https://www.cnblogs.com/expiator/p/9853378.html Sp…

CCF ChinaSoft 2023 论坛巡礼 | CCF-华为胡杨林基金-形式化方法专项(海报)论坛

2023年CCF中国软件大会(CCF ChinaSoft 2023)由CCF主办,CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办,将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…

从0到0.01入门React | 008.精选 React 面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

Android 基本属性绘制文本对象FontMetrics

FontMetrics对象 它以四个基本坐标为基准,分别为: ・FontMetrics.top ・FontMetrics.ascent ・FontMetrics.descent ・FontMetrics.bottom 如图: 要点如下: 1. 基准点是baseline 2. Ascent是baseline之上至字符最高处的距离 3. Descent是ba…

【多线程 - 03、线程的生命周期】

生命周期 当线程被创建并启动以后,它不是一启动就进入执行状态,也不会一直处于执行状态,而是会经历五种状态。 线程状态的五个阶段: 新建状态(New)就绪状态(Runnable)运行状态&…

TensorFlow学习笔记--(3)张量的常用运算函数

损失函数及求偏导 通过 tf.GradientTape 函数来指定损失函数的变量以及表达式 最后通过 gradient(%损失函数%,%偏导对象%) 来获取求偏导的结果 独热编码 给出一组特征值 来对图像进行分类 可以用独热编码 0的概率是第0种 1的概率是第1种 0的概率是第二种 tf.one_hot(%某标签…

【差旅游记】启程-新疆哈密(1)

哈喽,大家好,我是雷工。 最近有个新疆罗布泊的项目要去现场,领导安排我过去,这也算第一次到新疆,记录下去新疆的过程。 01、天有不测风云 本来预定的是11月2号石家庄飞成都,成都转机到哈密,但…

为什么要用“交叉熵”做损失函数

大家好啊,我是董董灿。 今天看一个在深度学习中很枯燥但很重要的概念——交叉熵损失函数。 作为一种损失函数,它的重要作用便是可以将“预测值”和“真实值(标签)”进行对比,从而输出 loss 值,直到 loss 值收敛,可以…

Linux--gcc/g++

一、gcc/g是什么 gcc的全称是GNU Compiler Collection,它是一个能够编译多种语言的编译器。最开始gcc是作为C语言的编译器(GNU C Compiler),现在除了c语言,还支持C、java、Pascal等语言。gcc支持多种硬件平台 二、gc…

【Pytorch和深度学习】栏目导读

一、栏目说明 本栏目《pytorch实践》是为初学者入门深度学习准备的。本文是该栏目的导读部分,因为计划本栏目在明年完成,因此,导读部分,即本文也在持续更新中。 本栏目设计目标是将深度学习全面用pytorch实践一遍,由浅…

2390 高校实验室预约系统JSP【程序源码+文档+调试运行】

摘要 本文介绍了一个高校实验室预约系统的设计和实现。该系统包括管理员、教师和学生三种用户,具有基础数据管理、学生管理、教师管理、系统公告管理、实验室管理、实验室预约管理和系统管理等模块。通过数据库设计和界面设计,实现了用户友好的操作体验…

std::any

一、简介 std::any 可以储存任何可拷贝构造和可销毁的类型的对象。 struct test {test(int a,int b){} };int main(int argc, char *argv[]) {std::any a 1;qDebug() << a.type().name();a 3.14;qDebug() << a.type().name();a true;qDebug() << a.type…

PyCharm 安装库时显示连接超时

在setting->python Interpreter 中用“” 安装库时&#xff0c;出现一个弹窗&#xff0c;提示信息如下&#xff1a; Error updating package list: Connect timed out 通过查阅资料&#xff0c;发现是镜像源的问题&#xff0c;具体的解决方案如下&#xff1a; 1. 更新一下…

阿里云国际站:云备份

文章目录 一、阿里云云备份的概念 二、云备份的优势 三、云备份的功能 四、云备份的应用场景 一、阿里云云备份的概念 云备份作为阿里云统一灾备平台&#xff0c;是一种简单易用、敏捷高效、安全可靠的公共云数据管理服务&#xff0c;可以为阿里云ECS整机、ECS数据库、文件…

代码分析之-广东省公共资源交易平台

广东省公共资源交易平台 hex: function Xq() {return bg || (bg 1,function(e, t) {(function(n, u) {e.exports u()})(an, function() {var n n || function(u, o) {var r;if (typeof window < "u" && window.crypto && (r window.crypto)…

[工业自动化-15]:西门子S7-15xxx编程 - 软件编程 - 硬件组态进行硬件配置与信号模块的分配、信号数据类型

目录 一、PLC组态在PLC编程中的位置&#xff1a;首要位置 1.1 什么是硬件组态 1.2 硬件组态在PLC编程中的位置 二、硬件组态的步骤&#xff1a; 三、信号模块的分配 3.1 what什么是PLC信号模块的地址&#xff0c;以及信号模地址的格式&#xff1f; 3.2 whyPLC信号模块地…

“苹果定律”失效,2023是VR的劫点还是拐点?

因为Pico裁员的事情&#xff0c;VR行业又被讨论了。 Pico于2021年9月被字节跳动收购&#xff0c;当时是出货量排名全球第三的VR 头显生产商。 此前曾有国际机构预测&#xff0c;2023年随着Meta和Pico的硬件更新&#xff0c;苹果Vision Pro的推出&#xff0c;三星电子重新回归VR…

[工业自动化-17]:西门子S7-15xxx编程 - 软件编程 - PLC编程语言以及与嵌入式编程的比较

目录 一、博图编程语言 1.1 概述 1.2 三种编程语言之间的关系 二、PLC与嵌入式系统的类比 三、PLC编程与嵌入式系统编程的比较 3.1 不同点 3.2 相同点 3.3 PLC是一种专门用于工业控制系统的嵌入式系统 一、博图编程语言 1.1 概述 西门子&#xff08;Siemens&#xff0…

CentOS指令学习

目录 一、常用命令 1、ls 2、cd_pwd 3、touch_mkdir_rmdir_rm 4、cp_mv 5、whereis_which_PATH 6、find 7、grep 8、man_help 9、关机与重启 二、压缩解压 1、zip_unzip 2、gzip_gunzip 3、tar 三、其他指令 1、查看用户登录信息 2、磁盘使用情况 3、查看文件…

【数据结构】树与二叉树(十三):递归复制二叉树(算法CopyTree)

文章目录 5.2.1 二叉树二叉树性质引理5.1&#xff1a;二叉树中层数为i的结点至多有 2 i 2^i 2i个&#xff0c;其中 i ≥ 0 i \geq 0 i≥0。引理5.2&#xff1a;高度为k的二叉树中至多有 2 k 1 − 1 2^{k1}-1 2k1−1个结点&#xff0c;其中 k ≥ 0 k \geq 0 k≥0。引理5.3&…