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

欣赏网站怎么做网页才能置顶

欣赏网站,怎么做网页才能置顶,怎样做交互式网站,穆棱建设局网站接前一篇文章#xff1a; 本文内容参考#xff1a; 《趣谈Linux操作系统》 —— 刘超#xff0c;极客时间 《QEMU/KVM》源码解析与应用 —— 李强#xff0c;机械工业出版社 特此致谢#xff01; virtio简介 对于一台虚拟机而言#xff0c;除了要虚拟化CPU和内存 本文内容参考 《趣谈Linux操作系统》 —— 刘超极客时间 《QEMU/KVM》源码解析与应用 —— 李强机械工业出版社 特此致谢 virtio简介 对于一台虚拟机而言除了要虚拟化CPU和内存当然也要虚拟化外部设备这其中最为典型和关键的是存储和网络。那么这些外部设备应该如何虚拟化呢 全虚拟化 当然一种方式方案还是完全虚拟化。使用QEMU完全模拟设备比如有什么样的硬盘或网卡设备就使用QEMU模拟一个一模一样的软件的硬盘和网卡设备。这样在虚拟机里边的操作系统看来使用这些设备和使用物理设备是一样的。传统的设备模拟中虚拟机内部设备驱动完全不知道自己处在虚拟化环境中。对于网络和存储等I/O操作会走完整的“虚拟机内核栈 - QEMU - 宿主机内核栈”。虽然在这种方式下做到了完全而真正的虚拟化但QEMU又充当了翻译官的角色每个指令都需要与翻译在此过程“虚拟机内核栈 - QEMU - 宿主机内核栈”中会产生很多的VM Exit和VM Entry性能很差实在是太慢了。 半虚拟化 另一种方式方案是半虚拟化。虚拟机里边的操作系统不是一个通用的操作系统它知道自己是运行在虚拟机里边的也清楚使用的硬盘和网络等设备都是虚拟的应该加载特殊的驱动才能运行。这些特殊的驱动往往要通过虚拟机里外配合工作的模式来加速对于物理存储设备和网络设备等的使用。而本段的主角——virtio就是采用的此种方式。 virtio方案是旨在提高性能的一种优化方案在该方案中虚拟机能够感知到自己处于虚拟化环境并且会加载相应的virtio总线驱动和virtio设备驱动。 virtio基本原理 在虚拟化技术的早期不同的虚拟化技术会针对不同硬盘物理存储和网络等设备实现不同的驱动。虚拟机里边的操作系统也要根据不同的虚拟化技术及物理存储和网络设备选择加载不同的驱动。但是由于硬盘设备和网络设备太多了驱动纷繁芜杂。 后来就慢慢形成了一定的标准这就是virtio。顾名思义virtio就是virtual io的缩写也即虚拟化I/O设备的意思。virtio负责对于虚拟机提供统一的接口。也就是说在虚拟机里边的操作系统加载的驱动以后都统一加载virtio就可以了。 半虚拟化的基本原理如下图所示 上图主要包括两部分内容一个是VMM创建出模拟的设备另一个是操作系统内部安装好该模拟设备的驱动这个驱动和设备之间使用对应的接口进行通信。 以e1000网卡为例在传统的全虚拟化方式下虚拟机内核中的网卡驱动还是与具体的硬件设备相同也就是说QEMU模拟的是e1000的网卡。虚拟机操作系统还是通过传统的方式进行包的收发。e1000以及其它模拟设备网卡的驱动在收发包的时候会有很多次的写网卡寄存器或者IO端口的操作这会导致VM Exit使得网卡的性能比较差与上边提到的一致。 而在半虚拟化环境下设备和驱动都是新的、专门用来适应虚拟化环境的。虚拟机中的设备驱动与QEMU中的虚拟网卡设备定义一套自己的协议进行数据传输通过自己约定的接口可以很方便地进行通信。 virtio即是这样一种利用半虚拟化技术提供I/O性能的框架。virtio框架如下图所示 virtio是一种前后端架构包括前端驱动Front-End Driver和后端设备Back-End Device以及自身定义的传输协议。通过传输协议virtio不仅可以用于QEMU/KVM方案也可以用于其它的虚拟化方案。如虚拟机可以不必是QEMU而也可以是其它类型的虚拟机后端不一定要在QEMU中实现也可以在内核中实现这实际上就是vhost方案。 接下来对以上三个组件做简单介绍 前端驱动 前端驱动为虚拟机内部的virtio模拟设备对应的驱动每一种前端设备都需要有对应的驱动才能正常运行。前端驱动的主要作用是1接收用户态的请求2然后按照传输协议将这些请求进行封装3再写I/O端口4发送一个通知到QEMU的后端设备。 后端设备 后端设备则是在QEMU中用来接收前端驱动发过来的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这是后端设备在使用完描述符表后设置的索引这样前端驱动可以知道哪些描述符已经被用了。 欲知后事如何且看下回分解。
http://www.pierceye.com/news/453908/

相关文章:

  • 网站建设制作设计优化兰州如何用织梦建网站
  • wordpress 网站禁用全屏代码百度怎么建设网站
  • 强军网网站建设北京各大网站推广服务公司
  • 西安优秀的集团门户网站建设公司网站建设中 优秀账户的标准
  • 网站建设的对比分析移动设备网站开发注意点
  • 在word上怎么做网站链接网站开发试题
  • 自己做网站新手入门淮北论坛招聘网
  • 建网站的意义大学跳蚤市场网站建设
  • 平阳做网站成都网站优化公司哪家好
  • 庆阳北京网站建设广东省建设工程执业中心网站
  • 佛山哪里有做网站的大学生文创产品设计
  • 电商网站建设运城网站图片链接怎么做的
  • 服务器建网站教程宁波网络营销推广制作
  • 微信公众号属于网站建设网站云解析域名解析
  • 网站的建设及推广在哪找可以做网站的
  • 网站经常修改好不好北京互联网公司50强
  • 知识网站有哪些h5用什么制作
  • 广州网站制作联系方式上海共有多少家企业
  • 自己建一个网站需要什么网站关键词分析工具
  • 建三江建设局网站四川省建设厅官方网站电话
  • 福建志佳建设工程发展有限公司网站vi品牌包装
  • 专业门户网站开发公司龙岩正规全网品牌营销招商
  • 网站怎么做qq微信登陆政务网站的建设时期的概述
  • 购物网站的目的和意义西安做网站xamokj
  • 厦门市建设局网站网站开发周记30篇
  • 工业园区门户网站建设方案塘沽网站开发
  • 郑州网站设计 公司驻马店市可以做网站的公司
  • 推荐盐城网站开发安陆网站开发
  • wordpress中文网站模板软件开发者路线图
  • 福清市建设局网站深圳网站制作品牌祥奔科技