查看原文
其他

微软贡献 Linux 内核代码,可运行多个 Windows

Linux爱好者 2024-03-09
推荐关注↓

来源:OSC开源社区(ID:oschina2013)

近日微软为了扩展内核支持,为 Linux 内核提供了一系列的补丁,其中一个值得注意的地方是微软为 Linux 带来了运行嵌套监控程序(Hyper-V)或嵌套虚拟化的功能。
这组补丁是由微软的 Linux 高级工程师 Jinank Jain 在11月2日发出的,补丁说明如下:
该系列补丁计划增加对运行嵌套式微软 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/cover.1667406350.git.jinankjain@linux.microsoft.com/

- EOF -


加主页君微信,不仅Linux技能+1

主页君日常还会在个人微信分享Linux相关工具资源精选技术文章,不定期分享一些有意思的活动岗位内推以及如何用技术做业余项目

加个微信,打开一扇窗


推荐阅读  点击标题可跳转

1、如何学习 Linux 内核网络协议栈

2、Linux 环境变量总结

3、小米工程师提交优化补丁被批,Linux 内核维护者:太疯狂!


看完本文有收获?请分享给更多人

推荐关注「Linux 爱好者」,提升Linux技能

点赞和在看就是最大的支持❤️

继续滑动看下一个

微软贡献 Linux 内核代码,可运行多个 Windows

向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存