微软贡献Linux内核代码,可运行多个Windows
2022-11-30 12:21:4 Author: Linux学习(查看原文) 阅读量:14 收藏

来自公众号:OSC开源社区
链接:https://www.oschina.net/news/216711/run-multiple-nested-windows-inside-linux
近日微软为了扩展内核支持,为 Linux 内核提供了一系列的补丁,其中一个值得注意的地方是微软为 Linux 带来了运行嵌套监控程序(Hyper-V)或嵌套虚拟化的功能。
这组补丁是由微软的 Linux 高级工程师 Jinank Jain 在本周三发出的,补丁说明如下:
该系列补丁计划增加对运行嵌套式微软 Hypervisor(虚拟机监控程序) 的支持。在嵌套微软 Hypervisor 的情况下,有一些特权的 hypercalls 需要走 L0 Hypervisor(在物理硬件上运行的 Hyper-V 虚拟机监控程序) 而不是 L1 Hypervisor(在 Hyper-V 虚拟机中运行的嵌套虚拟机监控程序)。这个补丁系列基本上可以识别这样的 hypercalls,并用嵌套的 hypercalls 替换它们。
补丁中包含的变化包括:
  • mshv: 增加对检测嵌套的 hypervisor 的支持

  • hv:在嵌套 root 分区的情况下设置 synic 寄存器

  • hv: 增加一个接口来执行嵌套的 hypercalls 超调用

  • hv: 为嵌套的 root 分区启用 vmbus 驱动

  • hv, mshv : 改变嵌套 root 分区的中断向量

Hyper-V 是 Microsoft 的硬件虚拟化产品。它允许你创建和运行一个称为虚拟机的计算机的软件版本。每个虚拟机都充当运行操作系统和程序的完整计算机。当需要计算资源时,虚拟机可让你更灵活,并且比在物理硬件上运行一个操作系统更高效地使用硬件。
而嵌套虚拟化允许用户在一个 Hyper-V 虚拟机内运行 Hyper-V,与裸机相比,在虚拟机中运行时,Hypervisor 可以显著提高性能。可以通过使用 L0 Hypervisor 提供的启用接口,将 L1 Hypervisor 优化为在 Hyper-V VM 中运行。
因此如果这个补丁能够成功合并,那么你就可以在 Linux 中运行一个以上的 Windows 实例,嵌套虚拟化这样的功能通常来说是为企业设计的,绝大多数的普通用户都用不上这样的功能。
这个补丁仅有超过 100 行的新代码,如果代码审查顺利的话,这个嵌套的微软 hypervisor 支持可能会在 Linux 6.2 内核周期中合并进主线。
相关链接:https://lore.kernel.org/lkml/[email protected]/
---END---
推荐↓↓↓

文章来源: http://mp.weixin.qq.com/s?__biz=MzI4MDEwNzAzNg==&mid=2649459578&idx=2&sn=4f17e44c9890a3dfebf1e34dfe23f96c&chksm=f3a2aa09c4d5231ff7a4d48eeed384e0d7ae83b601b9be9e13acf15b696338921e8f51635159#rd
如有侵权请联系:admin#unsafe.sh