IO虚拟化技术|学习笔记

简介: 快速学习IO虚拟化技术。

开发者学堂课程【虚拟化技术入门IO虚拟化技术】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/374/detail/4698


IO虚拟化技术

 

目录:

一、IO 设备的工作原理

二、IO 虚拟化-软件模拟

三、IO 虚拟化-PV

四、IO 虚拟化-设备直通

五、TV-d 技术

六、IO 虚拟化-SRIOV 技术

 

一、IO 设备的工作原理

image.png

工作原理介绍:

cpu 和设备之间的交互方式一般是说 cpu 会去编辑一些寄存器,然后进行寄存器的访问,然后来操控设备,设备一旦有事情要通知 cpu 的时候,一般会通过中断来进行

Cpu 和设备之间都可以对内存进行交互,Cpu 可以通过内存访问指令去访问内存,然设备也可以通过人的方式访问内存,我们之所以要介绍这样一个单位设备。

1、虚拟中断

2、虚拟寄存器访问

3、虚拟 DMA

 

二、IO 虚拟化-软件模拟

通过软件的形式,进行模拟

特点:效率很低 只在早期使用

 

三、IO 虚拟化-PV

打破了原有设备 cpu 之间的访问关系。

也就是说,前端驱动和后端驱动,通过共享内存的形式来进行数据交换,而不需要再像原来 cpu 和设备之间通过寄存器的这种方式来进行数据交换,也没有向设备和内存之间的 MV 的这种操作,所以它的整体的这样一个io架构效率是非常非常高的。

由于其高效性,这种 PVE 的 IO 虚拟化模式被广泛采用,比如像现在比较流行的LYKDM 以及 word box 都采用这种虚拟化模式。

特点:

1、重新定i、o 架构

2、效率高

3、一定程度上解决软件的性能上的问题

image.png

 

四、IO 虚拟化-设备直通

要解决的三个方面问题:

1、所有的 i、o 操作必须可以直接发往物理机

2、中断必须能被捕获

3、VT-d技术

 

五、TV-d 技术

如图所示:

image.png

TV-d 技术就是实现了一种 DNA 的蕊白屏操作,

就是把 DNA 的从 gas,把一个 DNA 的 construction 从 gas 的地址,然后自动的翻译成 host 的物理地址地址,也就是物理地址这样一个组件。

 

六、IO 虚拟化-SRIOV 技术

把一个物理设备,从硬件层面,虚拟出多快设备,而这些多快设备在操作系统,看来就像一块物理设备一样的操作。

我们用一个网卡的例子来说明一下,在一块网,在一台物理机上面插了一块网卡,通过LV技术,它可以把这一块网卡呈现出来。

很多的 function 、有 Facebook 的 function ,也有误区的方式,从虚拟机的角度来看。这些方式的功能是一样的,都是提供了网络的功能,那么就可以把 LD 技术里边实现了 watch 的方式分配给虚拟机技术使用,让虚拟机具备有网络的能力。

在分配的时候,当然也需要用到 VTD 技术。

image.png

image.png

总结:

1、软件模拟

Io虚拟化软件复杂程度比较高,性能较差

2、PV

性能程度比较好,但是软件程度还是比较的复杂

3、设备直通+SRIOV+VT-d

真正解决了软件性能的问题,应用也相对广泛。

相关文章
|
3月前
|
存储 Linux 调度
OpenStack如何支持虚拟化技术?
【8月更文挑战第21天】
216 0
|
1月前
|
存储 分布式计算 分布式数据库
云计算和虚拟化技术
云计算是指把计算资源、存储资源、网络资源、应用软件等集合起来,采用虚拟化技术,将这些资源池化,组成资源共享池,共享池即是“云”。
141 64
|
25天前
|
存储 持续交付 虚拟化
|
30天前
|
人工智能 Cloud Native Java
云原生技术深度解析:从IO优化到AI处理
【10月更文挑战第24天】在当今数字化时代,云计算已经成为企业IT架构的核心。云原生作为云计算的最新演进形态,旨在通过一系列先进的技术和实践,帮助企业构建高效、弹性、可观测的应用系统。本文将从IO优化、key问题解决、多线程意义以及AI处理等多个维度,深入探讨云原生技术的内涵与外延,并结合Java和AI技术给出相应的示例。
101 1
|
30天前
|
运维 Cloud Native 持续交付
云原生技术解析:从IO出发,以阿里云原生为例
【10月更文挑战第24天】随着互联网技术的不断发展,传统的单体应用架构逐渐暴露出扩展性差、迭代速度慢等问题。为了应对这些挑战,云原生技术应运而生。云原生是一种利用云计算的优势,以更灵活、可扩展和可靠的方式构建和部署应用程序的方法。它强调以容器、微服务、自动化和持续交付为核心,旨在提高开发效率、增强系统的灵活性和可维护性。阿里云作为国内领先的云服务商,在云原生领域有着深厚的积累和实践。
56 0
|
2月前
|
KVM 虚拟化
虚拟化技术概述及KVM环境安装
关于虚拟化技术概述及KVM环境安装的教程,涵盖了虚拟化的定义、分类、管理工具,以及KVM的系统需求、安装步骤和使用指南。
80 11
虚拟化技术概述及KVM环境安装
|
2月前
|
网络协议 Java Linux
高并发编程必备知识IO多路复用技术select,poll讲解
高并发编程必备知识IO多路复用技术select,poll讲解
|
3月前
|
Devops 虚拟化 Docker
DevOps 中的标准虚拟化技术
【8月更文挑战第27天】
58 5
|
3月前
|
存储 监控 Linux
在Linux中,如何进行虚拟化技术的应用?
在Linux中,如何进行虚拟化技术的应用?
|
3月前
|
存储 运维 Devops