Xen半虚拟化下,IO共享环、事件通道、授权表之间的联系和区别

最后的例子很有意思,文章出处: http://blog.csdn.net/qianlong4526888/article/details/7553105

初学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门口,敲门(事件通道)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值