近日微軟為了擴展內(nèi)核支持,為 Linux 內(nèi)核提供了一系列的補丁,其中一個值得注意的地方是微軟為 Linux 帶來了運行嵌套監(jiān)控程序(Hyper-V)或嵌套虛擬化的功能。
這組補丁是由微軟的 Linux 高級工程師 Jinank Jain 在11月2日發(fā)出的,補丁說明如下:
該系列補丁計劃增加對運行嵌套式微軟 Hypervisor(虛擬機監(jiān)控程序) 的支持。在嵌套微軟 Hypervisor 的情況下,有一些特權(quán)的 hypercalls 需要走 L0 Hypervisor(在物理硬件上運行的 Hyper-V 虛擬機監(jiān)控程序) 而不是 L1 Hypervisor(在 Hyper-V 虛擬機中運行的嵌套虛擬機監(jiān)控程序)。這個補丁系列基本上可以識別這樣的 hypercalls,并用嵌套的 hypercalls 替換它們。
補丁中包含的變化包括:
mshv: 增加對檢測嵌套的 hypervisor 的支持
hv:在嵌套 root 分區(qū)的情況下設(shè)置 synic 寄存器
hv: 增加一個接口來執(zhí)行嵌套的 hypercalls 超調(diào)用
hv: 為嵌套的 root 分區(qū)啟用 vmbus 驅(qū)動
hv, mshv : 改變嵌套 root 分區(qū)的中斷向量
Hyper-V 是 Microsoft 的硬件虛擬化產(chǎn)品。它允許你創(chuàng)建和運行一個稱為虛擬機的計算機的軟件版本。每個虛擬機都充當(dāng)運行操作系統(tǒng)和程序的完整計算機。當(dāng)需要計算資源時,虛擬機可讓你更靈活,并且比在物理硬件上運行一個操作系統(tǒng)更高效地使用硬件。
而嵌套虛擬化允許用戶在一個 Hyper-V 虛擬機內(nèi)運行 Hyper-V,與裸機相比,在虛擬機中運行時,Hypervisor 可以顯著提高性能。可以通過使用 L0 Hypervisor 提供的啟用接口,將 L1 Hypervisor 優(yōu)化為在 Hyper-V VM 中運行。
因此如果這個補丁能夠成功合并,那么你就可以在 Linux 中運行一個以上的 Windows 實例,嵌套虛擬化這樣的功能通常來說是為企業(yè)設(shè)計的,絕大多數(shù)的普通用戶都用不上這樣的功能。
這個補丁僅有超過 100 行的新代碼,如果代碼審查順利的話,這個嵌套的微軟 hypervisor 支持可能會在 Linux 6.2 內(nèi)核周期中合并進主線。
審核編輯 :李倩
-
微軟
+關(guān)注
關(guān)注
4文章
6554瀏覽量
103903 -
Linux
+關(guān)注
關(guān)注
87文章
11215瀏覽量
208745 -
虛擬機
+關(guān)注
關(guān)注
1文章
906瀏覽量
28027
原文標(biāo)題:微軟貢獻 Linux 內(nèi)核代碼,可運行多個 Windows
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論