0
点赞
收藏
分享

微信扫一扫

Virtio

以前干嘛去了 2022-01-30 阅读 45

虚拟机与物理机的通信通过vring来实现数据交互,这之间存在一种io的通信机制。

  • 主机通知客户机是通过注入中断来实现,虚拟设备连在模拟的中断控制器上,有自己的中断线信息,PCI设备的中断信息会被写入该设备的配置空间

  • 客户机通知主机是通过virtio读写内存来实现的。

上面第二条分有两类:MMIO和PIO。MMIO是通过mmap()像写内存一样读写虚拟设备,比如内存。PIO(就是通常意义上的io端口)通过hypervisor捕获设备io来实现虚拟化。两者的区别是:MMIO是通过内存的异常来进行,PIO则是通过io动作的捕获。

举报

相关推荐

0 条评论