【发布时间】:2012-05-19 02:17:22
【问题描述】:
(我觉得这个问题一半属于这里,一半属于服务器故障;如果你认为有更好的地方,请告诉我。)
Xen 或者任何虚拟机管理程序如何将硬件暴露给客户操作系统?
例如,一位客人想要在网络上进行交流;在某个阶段,它的请求必须转化为对 NIC 的请求。虚拟机管理程序是否公开了一个虚拟网络设备,我们假设来宾知道如何使用?或者半虚拟化的客人是否知道如何直接对给定的硬件提出请求? (如果是这样,非半虚拟化的客人会做什么?)
一旦提出请求,谁来处理?我猜虚拟机管理程序对物理硬件了解不多(从驱动程序的角度来看),所以它可能必须归结为 dom0。对吧?
我问是因为我喜欢做内核开发,但编写驱动程序是一件苦差事。如果我可以依赖具有相当好的硬件支持的 dom0(比如 Ubuntu),然后只编写我的内核来运行半虚拟化,和/或使用 Xen 公开的一些模拟设备,那会让我的生活更轻松.然而,很难找到关于这些主题的文档,所以我的下一站可能是查看一系列 Xen 客户机实现; HaLVM,GHC 的一个端口,用于作为 Xen 来宾本机运行 Haskell 软件,看起来是一个好的开始。
感谢和问候!
编辑:this marketing doc from Xen.org 似乎声明 dom0 运行驱动程序是为了方便 domUs 的块设备和网络访问,这与我的猜测一致。在这种情况下,任何技术参考/规格/等。太棒了!
编辑:this (apparently outdated) documentation 看起来不错。
【问题讨论】:
标签: virtualization xen hypervisor