Xen半虚拟化下,IO共享环、事件通道、授权表之间的联系和区别
来源:互联网 发布:软件企业资格认定 编辑:程序博客网 时间:2024/05/12 05:01
初学Xen,对于DomU与Dom0之间的通信机制概念不清晰,现总结如下供大家参考,仅作抛砖引玉之用。找到一篇论文,《基于Xen的IO准虚拟化驱动研究》(胡冷非)讲得不错,拿来参考。
(1)I/O共享环:在不同Domain之间存在的一块固定的共享内存,用于在DomU和Dom0之间传递I/O请求和响应。I/O共享环利用生产者和消费者的机理来产生发送以及响应IO请求。
(2)授权表:在不同Dom之间高效传输IO数据的机制。通过授权表把内存映射到目的Dom或者把内存传送到目的Dom。
(3)事件通道:用于Dom和Xen之间、Dom和Dom之间异步事件通知机制。
注意上面的粗体字。
以DomainU向IO设备写入数据为例:
1、DomU产生IO请求,在IO共享环中添加请求。
2、然后将IO数据放入授权表指向的内存中,等待Dom0来取。
3、一切准备就绪,通过事件通道通知Dom0开始处理。
4、Dom0收到事件通道的通知,知道有数据需要处理。
5、然后,Dom0从IO共享环中取出IO请求,分析下到底DomU想要Dom0为他做什么。
6、明白要做什么后,将授权表中的数据取出进行处理。
7、数据处理完成后,Dom0将处理后信息放入IO共享环,然后通过事件通道发送通知给DomU,告诉他处理完成了。
8、DomU收到事件通道的通知,从IO共享环中取出相应,进而处理之。
总结:IO共享环的作用是具体的IO请求(如发送网络数据),是请求!事件通道是通知用的!授权表指向的内存是数据的存储地!
举个不十分恰当的例子:A(DomU)请B(Dom0)帮忙保存一些贵重物品S(数据),首先A写一张纸条(IO共享环),上面说明请求B帮忙做的事情,放到B的门口,然后敲门(事件通道)。B听到敲门(事件通道的中断)后开门看到纸条(IO共享环),分析上面的内容后,去到A固有的地点(授权表上写明的内存地址)取物品S。一切做完后写个纸条(IO共享环)贴到A门口,敲门(事件通道)。
- Xen半虚拟化下,IO共享环、事件通道、授权表之间的联系和区别
- Xen半虚拟化下,IO共享环、事件通道、授权表之间的联系和区别
- 虚拟化技术中KVM,Xen,Qemu的区别和联系
- xen的事件通道
- Xen前后端分离设备驱动模型通信过程分析(包括事件通道、授权表、环缓冲区)
- 随机事件和随机变量之间的区别与联系
- Xen 超级调用 和 事件通道
- xen的授权表
- Android下Context、Application、Activity之间的联系和区别
- 全虚拟化与半虚拟化的区别(xen)
- 浅谈Xen和半虚拟化技术
- xen下全虚拟化、半虚拟化GUestOS的安装步骤
- xen下全虚拟化、半虚拟化GuestOS的安装步骤
- linux系统下使用Xen安装半虚拟化xen客户机(paravirtualized Xen guest)
- 视图和表之间的区别和联系
- 视图和表之间的区别和联系
- Xen 半虚拟化和硬件辅助虚拟化
- 管道、消息队列、共享内存之间的区别与联系
- MyEclipse 9.0 自定义创建JSP模板的方法
- WorkFlowy,一个独特的思维整理工具
- Facebook用户消费力竟不敌Pinterest
- 编程之美 - 寻找数组中的最大值和最小值
- ubuntu12.04下使用Eclipse进行SVN版本控制
- Xen半虚拟化下,IO共享环、事件通道、授权表之间的联系和区别
- Android有返回值的Activity
- Postgres访问其他PostgresQL数据库的功能DBLINK
- 将上传文件保存到指定目录的一个java源代码
- test
- 大型网站开发构架-简要
- 字典树、字典树代码
- TQ2440 tftp+nfs 无flash启动
- FSMC调试进入HardFault_Handler问题的解决办法