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

dw中做网站的步骤互联网架构师

dw中做网站的步骤,互联网架构师,做网站开店,一个网站多个域名接前一篇文章#xff1a;中移#xff08;苏州#xff09;软件技术有限公司面试问题与解答#xff08;0#xff09;—— 面试感悟与问题记录 本文参考以下文章#xff1a; VirtIO实现原理——PCI基础 VirtIO实现原理——virtblk设备初始化 特此致谢#xff01; 本文对…接前一篇文章中移苏州软件技术有限公司面试问题与解答0—— 面试感悟与问题记录 本文参考以下文章 VirtIO实现原理——PCI基础 VirtIO实现原理——virtblk设备初始化 特此致谢 本文对于中移苏州软件技术有限公司面试问题中的“1virtio会创建哪些设备”进行解答与解析。 要弄清楚并回答这个问题首先得从virtio这个“根”上讲起。 传统的设备模拟中虚拟机内部设备驱动完全不知道自己处在虚拟化环境中。对于网络和存储等设备I/O操作会完整地走完“虚拟机内核栈-QEMU-宿主机内核栈”这一过程会产生很多的VM Exit和VM Entry因此性能很差。 以e1000网卡为例在传统的全模拟方案下虚拟机操作系统内核中的网卡驱动还是跟具体的硬件设备相同。也就是说QEMU模拟的是e1000的网卡虚拟机操作系统还是通过传统的方式进行收发包。e1000以及其它模拟设备网卡的驱动在进行收发包的时候会有很多次的写网卡寄存器或IO端口的操作这会导致大量的VM Exit使得网卡的性能比较差。 virtio方案则是旨在提高性能的一种优化方案。在该方案中虚拟机能够感知到自己处于虚拟化环境并且会加载相应的virtio总线驱动和virtio设备驱动。 半虚拟化的基本原理如下图所示 主要包括两部分的内容一个是VMM创建出模拟的设备即后端设备另一个是虚拟机操作系统内部安装好该模拟设备的驱动即前端驱动。在半虚拟化环境下设备和驱动都是新的、专门用来适应虚拟化环境的。虚拟机中的设备驱动前端驱动与QEMU中的虚拟网卡设备后端设备定义一套自己的协议来进行数据传输通过自己约定的接口可以很方便地进行通信。virtio即是这样一种利用半虚拟化技术提供I/O性能的框架。 到这儿就可以初步知道题目的意思了所谓“virtio会创建哪些设备”主要指的是virtio后端设备都有哪些。具体的设备接下来就会讲到这里先别着急且容我慢慢道来。 先来介绍一下virtio框架如下图所示 virtio是一种前后端架构包括前端驱动Front-End Driver和后端设备Back-End Device、以及自身定义的传输协议。通过传输协议virtio不仅可以用于QEMU/KVM方案也可以用于其它的虚拟化方案。如虚拟机可以不必是QEMU也可以是其它类型的虚拟机。后端不一定要在QEMU中实现也可以在内核中实现这实际上就是vhost方案。接下来对这三个组件做简单介绍。 前端驱动Front-End Driver 前端驱动为虚拟机内部的virtio模拟设备对应的驱动每一种前端设备都需要有对应的驱动才能正常运行。前端驱动的主要作用是接收用户态的请求然后按照传输协议将这些请求进行封装之后再写I/O端口发送一个通知到QEMU的后端设备。 后端设备Back-End Device 后端设备则是在HostQEMU中用来接收前端驱动发过来的I/O请求然后从接受的数据中按照传输协议的格式进行解析。对于网卡等需要实际物理设备交互的请求后端驱动会对物理设备进行操作从而完成请求并且会通过中断机制通知前端驱动。 virtio队列 virtio前端和后端驱动的数据传输通过virtio队列virtio queuevirtqueue完成。一个设备会注册若干个virtio队列每个队列负责处理不同的数据传输有的是控制层面的队列有的是数据层面的队列。virtqueue是通过vring实现的。vring是虚拟机和QEMU之间共享的一段环形缓冲区。当虚拟机需要发送请求到QEMU的时候就准备好数据将数据描述放到vring中写一个I/O端口然后QEMU就能够从vring中读取数据信息进而从内存中读出数据。QEMU完成请求之后也将数据结构存放在vring中前端驱动也就可以从vring中得到数据了。vring的基本原理如下图所示 vring包含三个部分 第一部分是描述符表Descriptor Table用来描述I/O请求的传输数据信息包括地址、长度等信息第二部分是可用的vringAvailable Vring这是前端驱动设置的表示后端设备可用的描述符表中的索引第三部分是已经使用的vringUsed Vring这是后端设备在使用完描述符表后设置的索引这样前端驱动可以知道哪些描述符已经被用了。 至此对于问题“virtio会创建哪些设备”就有了初步答案。这个问题会转换为virtio后端设备都有哪些根据上图可知分为两大类设备virtio PCI控制设备和virtio设备。具体来说就是virtio-pci设备和具体的virtio设备包括 1af4:1041  network device (modern) 1af4:1042  block device (modern) 1af4:1043  console device (modern) 1af4:1044  entropy generator device (modern) 1af4:1045  balloon device (modern) 1af4:1048  SCSI host bus adapter device (modern) 1af4:1049  9p filesystem device (modern) 1af4:1050  virtio gpu device (modern) 1af4:1052  virtio input device (modern) legacy: #define PCI_DEVICE_ID_VIRTIO_NET         0x1000 #define PCI_DEVICE_ID_VIRTIO_BLOCK       0x1001 #define PCI_DEVICE_ID_VIRTIO_BALLOON     0x1002 #define PCI_DEVICE_ID_VIRTIO_CONSOLE     0x1003 #define PCI_DEVICE_ID_VIRTIO_SCSI        0x1004 #define PCI_DEVICE_ID_VIRTIO_RNG         0x1005 #define PCI_DEVICE_ID_VIRTIO_9P          0x1009 #define PCI_DEVICE_ID_VIRTIO_VSOCK       0x1012 #define PCI_DEVICE_ID_VIRTIO_PMEM        0x1013 #define PCI_DEVICE_ID_VIRTIO_IOMMU       0x1014 #define PCI_DEVICE_ID_VIRTIO_MEM         0x1015 下一回对于细节进行讲解在初步回答此面试问题的基础上深入回答此问题。
http://www.hkea.cn/news/14525230/

相关文章:

  • 怎么建立自己网站 asp上海传媒公司ceo是谁
  • 东莞网站开发定制wordpress做图集
  • 海南房地产网站建设企业网站建设如何选择网络公司
  • 网站制作内容文案长沙优化科技有限公司电话
  • 做跨境的网站有哪些内容自己做网站制作教程
  • 网站优化怎么看网站制作公司官网南京
  • 网络营销对企业的优势网站seo优化8888
  • 国内买机票的网站建设渭南做网站价格
  • 自己随便玩玩的网站怎么建设怎么创建一个博客网站吗
  • 建网站pc版徐州地产开发公司招聘
  • 网站首页动画效果电商网站的宣传推广
  • 无锡手机网站开发西宁企业网站开发定制
  • 网站仿静态和静态的区别电商分销
  • 网站管理与开发怎么做网站上海旅游网站建设
  • 哪些网站可以找到做药人的信息北京科技公司
  • 无icp备案的网站合法吗友情链接多久有效果
  • 亚马逊在电子商务网站建设北京做网站公司哪家强
  • 济南哪里有做网站的网站设计与网页制作在线
  • 郑州区块链数字钱包网站开发过程wordpress 中表格 宽度
  • 上海网站建设的价格低小程序游戏源码wordpress
  • 长沙口碑好的做网站公司哪家好打开英文网站字体不对
  • 网站系统 建设和软件岗位职责网站直播的功能怎样做
  • 做家务的男人网站特种工建设网站
  • 公司有些网站打不开wordpress the7汉化版
  • 做面包网站抖音小程序多少钱
  • 南宁seo网站排名优化广告logo图片大全
  • 电子商务网站建设 上海那里有做网站
  • 温州苍南网站建设图书网站建设实训心得
  • 大型网站tag标签 索引wordpress怎么连接主机
  • 网站建设一般用英文怎么说做网站 就上宝华建站