虚拟机之间的信息通信机制

授权表(Grant Table)

各个虚拟机并不是孤立存在的,很多情况下,它们需要相互通信,典型的例子就是访问硬件。Xen使用了一种称为授权表(grant table)机制,来实现VM之间的内存页面传递和共享。

共享内存是最早出现的进程间通信机制之一,由于所有进程的地址空间都是公共内存池,因此通过重复映射的方式,可以简单的实现进程间的内存共享,并且共享内存是最快的通信机制,而对于Xen来说,这时不错的选择。
多进程共享内存
Hypervisor提供内存页面共享机制,各个Domain可以在此之上建立更高层次的抽象,该方法进行Domain间通信,功能类似于传统的IPC。(IPC三种通信机制是指:信号量、共享内存、消息队列)。
内存空想机制有两种实现机制,system v中使用的较老的机制, 每块内存都与一个key值对应,其他进程获得这个key,并将这块内存映射到自己的map中。POSIX采用Unix系统的理念,所有数据都是文件的思想,内存页面以文件的形式进行共享,如果没有合适的文件可供使用过,那么就是/dev/null来显示一个匿名内存给内存区域。这里注意部分操作细节不会暴露给用户,首先、就是共享的粒度,通常情况空想内存是以页面为单位进行的,第二、不会向用户提供实际地址,只是提供抽象的内存地址。
Xen的内存共享机制更加靠近底层,并且只能以页面为单位进行,一个共享区域都是用一个唯一的正数来进行标识,称grant reference,类似于system v的方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值