【问题标题】:How does Xen expose hardware to guests?Xen 如何将硬件暴露给客人?
【发布时间】: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


    【解决方案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.

    【讨论】:

    • 谢谢——这太棒了。你的资历当然让我感到安心。 :)
    猜你喜欢
    • 2011-09-14
    • 2023-03-08
    • 2011-09-07
    • 1970-01-01
    • 2012-12-02
    • 2011-02-07
    • 2015-10-26
    • 2017-01-06
    • 2012-12-21
    相关资源
    最近更新 更多