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

描述

近日微软为了扩展内核支持,为 Linux 内核提供了一系列的补丁,其中一个值得注意的地方是微软为 Linux 带来了运行嵌套监控程序(Hyper-V)或嵌套虚拟化的功能。

Linux

这组补丁是由微软的 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 内核周期中合并进主线。

审核编辑 :李倩

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分