扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共3页)
直接访问
IOMMU通过允许VMM直接将真实设备分配到客户操作系统让I/O虚拟化更有效。VMM无法模拟IOMMU的转译和保护功能,因为VMM是不能介于运行在客户操作系统上的内核模式驱动程序与底层硬件之间。因此,当缺少IOMMU的时候,VMM会取而代之作为客户操作系统的模拟设备。最后VMM将客户请求转换到运行主机操作系统或者hypervisor的真实驱动程序请求。
有了IOMMU,VMM会创建I/O页表格将系统物理地址映射到客户物理地址,为客户操作系统创建一个保护域,然后让客户操作系统入常运转。针对真实设备编写的驱动程序则作为那些未经修改、对底层转译无感知的客户操作系统的一部分而运行。客户I/O交易通过IOMMU的I/O映射被从其他客户独立出来。
IOMMU不支持系统内存需求页,之所以不能是因为外围设备不能被告知重试操作,这个操作要求处理页加载。向那些显示的页面进行的DMA传输可能失败,因此VMM不知道哪个页是DMA目标,锁定内存中的整个客户要求VMM通过IOMM支持外围设备。
显然,AMD的IOMMU在I/O设备虚拟化开销方面有着很大不同:避免设备模拟、取消转译层和允许本机驱动程序直接配合设备。我们很期待VMM在支持这项技术之后将获得怎样的性能结果。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者