Xen ABI 是真正的 ABI 吗?

发布于 2024-07-22 15:06:00 字数 233 浏览 6 评论 0原文

我正在阅读 ABI 上的维基百科页面,它描述了 ABI 必须指定的内容,以及 Xen页面指​​出他们有一个特殊的超级调用 ABI 用于半虚拟化。 我的问题是,既然程序将使用虚拟机中的 Windows ABI 来执行,那么 Xen ABI 如何是 ABI?

I was reading the wikipedia page on ABI, which describes what an ABI must specify, and the Xen page which states that they have a special hypercall ABI for their paravirtualisation. My question is, since programs will execute using say, the Windows ABI in the VM, how is the Xen ABI an ABI?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酒与心事 2024-07-29 15:06:00

Xen 有两种运行来宾系统的方式:

  1. 半虚拟化来宾,它使用 ABI 与虚拟机管理程序配合。 这需要修改来宾才能工作(这需要其源代码的可用性)。
  2. 使用CPU的虚拟化功能,例如AMD的SVM或Intel的VT。 在这种情况下,来宾无需遵守 ABI。

所以Xen的ABI只与第一种情况相关。

编辑:在来宾操作系统上运行的用户空间应用程序不需要修改,假设它们不尝试直接访问硬件(或者操作系统捕获这些访问并以主机友好的方式处理它们)。 因此,只需修改该来宾的内核(这里包括驱动程序等),它将运行任何未修改的应用程序。

Xen has two ways of running guest systems:

  1. Paravirtualized guests, which employ that ABI to cooperate with the hypervisor. This requires the guest to be modified in order to work (which requires the availability of its source code).
  2. Using virtualization features of CPUs, like AMD's SVM or Intel's VT. In this case, there's no ABI the guest has to comply to.

So Xen's ABI relates only to the first case.

EDIT: The userspace applications running on the guest OS need not be modified, assuming they do not try to access the hardware directly (or the OS traps those accesses and handles them in a host-friendly manner). So only the kernel (here including drivers and so on) of that guest needs to be modified, and it will run whatever unmodified applications.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文