近日微軟為了擴(kuò)展內(nèi)核支持,為 Linux 內(nèi)核提供了一系列的補(bǔ)丁,其中一個(gè)值得注意的地方是微軟為 Linux 帶來(lái)了運(yùn)行嵌套監(jiān)控程序(Hyper-V)或嵌套虛擬化的功能。

這組補(bǔ)丁是由微軟的 Linux 高級(jí)工程師 Jinank Jain 在本周三發(fā)出的,補(bǔ)丁說(shuō)明如下:
該系列補(bǔ)丁計(jì)劃增加對(duì)運(yùn)行嵌套式微軟 Hypervisor(虛擬機(jī)監(jiān)控程序) 的支持。在嵌套微軟 Hypervisor 的情況下,有一些特權(quán)的 hypercalls 需要走 L0 Hypervisor(在物理硬件上運(yùn)行的 Hyper-V 虛擬機(jī)監(jiān)控程序) 而不是 L1 Hypervisor(在 Hyper-V 虛擬機(jī)中運(yùn)行的嵌套虛擬機(jī)監(jiān)控程序)。這個(gè)補(bǔ)丁系列基本上可以識(shí)別這樣的 hypercalls,并用嵌套的 hypercalls 替換它們。
補(bǔ)丁中包含的變化包括:
mshv: 增加對(duì)檢測(cè)嵌套的 hypervisor 的支持
hv:在嵌套 root 分區(qū)的情況下設(shè)置 synic 寄存器
hv: 增加一個(gè)接口來(lái)執(zhí)行嵌套的 hypercalls 超調(diào)用
hv: 為嵌套的 root 分區(qū)啟用 vmbus 驅(qū)動(dòng)
hv, mshv : 改變嵌套 root 分區(qū)的中斷向量
Hyper-V 是 Microsoft 的硬件虛擬化產(chǎn)品。它允許你創(chuàng)建和運(yùn)行一個(gè)稱為虛擬機(jī)的計(jì)算機(jī)的軟件版本。每個(gè)虛擬機(jī)都充當(dāng)運(yùn)行操作系統(tǒng)和程序的完整計(jì)算機(jī)。當(dāng)需要計(jì)算資源時(shí),虛擬機(jī)可讓你更靈活,并且比在物理硬件上運(yùn)行一個(gè)操作系統(tǒng)更高效地使用硬件。 而嵌套虛擬化允許用戶在一個(gè) Hyper-V 虛擬機(jī)內(nèi)運(yùn)行 Hyper-V,與裸機(jī)相比,在虛擬機(jī)中運(yùn)行時(shí),Hypervisor 可以顯著提高性能。可以通過(guò)使用 L0 Hypervisor 提供的啟用接口,將 L1 Hypervisor 優(yōu)化為在 Hyper-V VM 中運(yùn)行。 因此如果這個(gè)補(bǔ)丁能夠成功合并,那么你就可以在 Linux 中運(yùn)行一個(gè)以上的 Windows 實(shí)例,嵌套虛擬化這樣的功能通常來(lái)說(shuō)是為企業(yè)設(shè)計(jì)的,絕大多數(shù)的普通用戶都用不上這樣的功能。 這個(gè)補(bǔ)丁僅有超過(guò) 100 行的新代碼,如果代碼審查順利的話,這個(gè)嵌套的微軟 hypervisor 支持可能會(huì)在 Linux 6.2 內(nèi)核周期中合并進(jìn)主線。 編輯:黃飛
?
電子發(fā)燒友App






























評(píng)論