当前位置: 首页 > news >正文

中职网站建设教学计划搜狗网页搜索

中职网站建设教学计划,搜狗网页搜索,快站建站,杭州标志设计公司一、virtio的介绍 在一篇文章中对virtio进行了简单的说明。在早期的虚拟化的过程中,无论是KVM还是Vmware亦或是Xen,每个平台想当然的是自己搞自己的IO接口。这就和现在国内的互联各个平台都是大而全一样,怎么可能我用你的支付接口呢&#xf…

一、virtio的介绍

在一篇文章中对virtio进行了简单的说明。在早期的虚拟化的过程中,无论是KVM还是Vmware亦或是Xen,每个平台想当然的是自己搞自己的IO接口。这就和现在国内的互联各个平台都是大而全一样,怎么可能我用你的支付接口呢?而这样做的结果就是应用方感到非常难受,特别是维护升级以及想改变应用目标的话,这需要的成本不断增加。
而实际上,不管IO如何发展,除非出现一种完全崭新的接口设备,否则它们应用基本逻辑应用没有多大差异,这也为统一设备的接口和提高兼容性打开了大门。
而virtio可以说因时而动,它提供了通用的抽象接口,它是一种半虚拟化的设备抽象接口规范,它在QEMU和KVM中被广泛应用。它分为两部分,即virtio(前端)和vhost(后端)。virtio的数据流交互其实就是通过两个VRing来进行转发的。

二、virtio的框架流程

其主要架构如下:

在这里插入图片描述

从图上可以看出,其共分为了四层,前端驱动和后端驱动,以及中间层的virtio 和virtio ring层。
前端驱动和后端设备通过传输层(中间层两层)来实现数据的通信,其主要的流程图如下:

在这里插入图片描述

前端驱动(virtio)中,主要是虚拟机对virtio模拟设备的驱动程序,用来管理virtio设备,接收虚拟机的请求并根据协议连接virtio设备。在Linux内核中,基本已经实现了一系列的此类前端驱动,如virtio-ballon、virtio-net、virtio-blk和virtio-scsi等等。同时在DPDK中实现了对网络设备的用户态(virtio-pmd)驱动。
传输层,顾名思义,就是用前后端的数据通信,它主要是支持虚拟机和VMM(Hypervisor)之间。正如图上所讲,利用共享内在实现两个虚拟队列来完成数据的传输。前端虚拟队列用于前端动态数据的传输,后端虚拟队列用于前端设备提交的IO请求处理。
后端设备主要承担两类功能,一个是对virtio后端设备的模拟,第二是依据协议处理虚拟机传过来的请求。不过随着技术的进步,又出现了前面提到的vhost,vhost-user、vDPA等等加速方案。

三、DPDK的virtio的应用

在Linux内核中对virtio的抽象实现如下:
1、底层PCI-e设备抽象层,管理检测PCI-e设备,初始化相应设备驱动程序,其通过两个抽象类即virtio_driver和virtio_device来负责此工作
2、中间virio虚拟队列层,其主要是virtqueue,其主要由vring_virtqueue和vring等类来实现
3、上层网络设备抽象层,通过实现底层抽象类virtio_net_driver和dev来提供普通的网络接口使用
而在DPDK基本上也是沿袭了这个路线。
DPDK中对virtio设备的优化:
1、单帧mbuf的网络包收发优化,固定了环表表项和描述符表项的映射
2、Indirect特性在网络发送包中的支持,即发送包只需要一个描述符(普通的包至少需要两个)
这要归功于DPDK中并没有完全实现virtio中对所有相关IO的实现,只是实现了对网卡设备的支持,这样就可以针对其进行具体的上述优化了。

四、源码

DPDK中对相关虚拟化virtio的实现代码主有以下几部分(DPDK主目录/drviers/net/virtio或vhost):
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

其主要内容包括:
1、从整体上讲,在net路径下有vhost和virtio两块;在virtio中有virtio-user及相关抽象实现;而在wirtio-user中又有用户态的vhost等
2、在virtio文件夹中,通过文件名也基本可以判断出其功能:virtio_ethdev.c是上层设备的抽象即前端驱动;而virtio_pci.c是底层抽象即后端的驱动;而virtio_rxtx.c等含有rxtx源码文件都负责传输的,而virtio_ring.h,virtqueue.c又是传输的抽象层
3、virtio_user中又提供了相关用户态的实现,它实现DPDK对容器对virtio的支持并且可以用于与Kernel通信。

把整体的框架框住,下来就可以从头按顺序进行分析,不要着急。

五、总结

virtio一个完整的协议抽象,不可能在一两篇文章中分析介绍完成,所以大家先有一个印象,然后再后面,遇到具体的问题再具体的分析。同时,会根据在DPDK的应用情况,对相关的源码和流程以及相关的体系结构进行整理分析。每天进步一点点吧,不断前行,不断积累,就会有量变到质变的过程。

http://www.ds6.com.cn/news/97876.html

相关文章:

  • 网站服务器建设教程视频seo基础入门教程
  • 手机界面设计网站惠州百度推广优化排名
  • 给别人做网站是外包公司上海关键词排名推广
  • wordpress做网站好吗阜新网络推广
  • wap网站部署网站怎么做优化排名
  • 一个独立IP做几个网站比较合适seo引擎优化外包公司
  • 要想浏览国外网站 应该怎么做百度怎么发广告
  • 木樨园网站建设公司免费建站的网站哪个好
  • wordpress采集网站西安百度关键词包年
  • 建设部网站公民服务地推项目对接平台
  • wordpress 用户上传文件整站优化系统
  • 外贸公司网站设计公司全国疫情的最新数据
  • 青岛网站关键词优化公司营销案例100例
  • 青锐成长计划网站开发人员长沙网络推广平台
  • 网站建设违约合同新乡网站推广
  • 学做标书的网站推广引流渠道平台
  • 做伊瑞尔竞技场的网站河南专业网站建设
  • 怎么把html模板导入wordpress搜索引擎优化的分类
  • 网站域名到期后果宁波seo怎么做优化
  • 只会前端可以做动态网站吗网络营销工程师
  • 大宗商品一览表时空seo助手
  • 四川省化工建设有限公司网站网站建设建站在线建站
  • 广东公司网站建设哪家好深圳网站建设公司官网
  • 上海建网站公司排名写软文能赚钱吗
  • 官方网站想反应问题不弄应该怎么做关键词权重
  • 饶平网站建设东莞做网络推广的公司
  • 企业网络建站武汉seo优化代理
  • 门户网站栏目维护建设方案网络营销的职能有哪些
  • 住房及城乡建设部网站关键词排名快照优化
  • 做网站分期付款比例百度百科官网登录