1

我觉得这个问题一半属于这里,一半属于服务器故障;如果您认为有更好的场所,请告诉我。

Xen,或者实际上,任何管理程序,如何将硬件暴露给客户操作系统?

例如,一位客人想要在网络上进行交流;在某个阶段,它的请求必须转化为对 NIC 的请求。虚拟机管理程序是否公开了一个虚拟网络设备,我们假设来宾知道如何使用?或者半虚拟化的客人是否知道如何直接请求给定的硬件?(如果是这样,非半虚拟化的客人会做什么?)

一旦提出请求,谁来处理?我猜虚拟机管理程序对物理硬件有很多了解(从驱动程序的角度来看),所以它可能必须归结为 dom0。对?

我问是因为我喜欢做内核开发,但是编写驱动程序是一件苦差事。如果我可以依赖具有非常好的硬件支持(例如 Ubuntu)的 dom0,然后只编写我的内核来运行半虚拟化,和/或使用 Xen 公开的一些模拟设备,那会让我的生活更轻松. 但是,很难找到关于这些主题的文档,所以我的下一站可能是查看一系列 Xen 客户机实现;HaLVM是 GHC 的一个端口,用于作为 Xen 来宾本机运行 Haskell 软件,看起来是一个好的开始。

谢谢和问候!

编辑这个来自 Xen.org的营销文档似乎声明 dom0 运行驱动程序以促进 domUs 的块设备和网络访问,这与我的猜测一致。在这种情况下,任何技术参考/规格/等。太棒了!

编辑这个(显然过时的)文档看起来不错。

4

1 回答 1

1

共有三种类型的设备模型。

  1. PV — 例如,Linux PV 来宾使用 pv_ops ( http://wiki.xen.org/wiki/XenParavirtOps , http://wiki.xen.org/wiki/Category:PVOPS )

  2. HVM — 使用 QEMU 对设备进行完全虚拟化 ( https://serverfault.com/questions/222010/difference-between-xen-pv-xen-kvm-and-hvm )

  3. 直通(http://wiki.xensource.com/wiki/Xen_PCI_Passthrough

The Definitive Guide to the Xen Hypervisor一书可能对您有用。

wiki 上有很多与开发相关的信息: http ://wiki.xen.org/wiki/Category:Developers 。

于 2012-05-19T23:19:42.260 回答