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