加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 1.前言
    • 2.多路復(fù)用
    • 3.聚合
    • 4.模擬
    • 5.結(jié)語
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

虛擬化的三種方式

11/25 10:50
1439
閱讀需 4 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

1.前言

Virtualization(虛擬化)是讓公開的虛擬資源等同于被虛擬化的底層物理資源。虛擬化在各個領(lǐng)域應(yīng)用很廣泛,不局限于計算機科學(xué)領(lǐng)域。無論是在硬件軟件還是在嵌入式子系統(tǒng)中,虛擬化總是使用或組合三種簡單的技術(shù)來實現(xiàn)的:多路復(fù)用(Multiplexing)聚合(Aggregation)模擬(Emulation)。

2.多路復(fù)用

多路復(fù)用目的是在多個虛擬實體之間復(fù)用物理資源。有兩種類型的多路復(fù)用:空間復(fù)用時間復(fù)用。

通過空間復(fù)用,物理資源(在空間上)被劃分為多個虛擬實體。例如操作系統(tǒng)跨不同地址空間對物理內(nèi)存的不同頁面進(jìn)行多路復(fù)用。為了實現(xiàn)這一目標(biāo),操作系統(tǒng)要統(tǒng)一管理虛擬到物理的地址映射,并依賴于MMU提供的體系結(jié)構(gòu)支持。

通過時間復(fù)用,可以在虛擬實體之間分時調(diào)度相同的物理資源。例如,操作系統(tǒng)調(diào)度器將CPU內(nèi)核和硬件線程多路復(fù)用到一組可運行的進(jìn)程中。通過上下文切換操作將處理器寄存器文件的狀態(tài)保存在與傳出進(jìn)程相關(guān)聯(lián)的內(nèi)存中,然后從與傳入進(jìn)程相關(guān)聯(lián)的內(nèi)存位置恢復(fù)該寄存器文件的狀態(tài)。

圖1 多路復(fù)用

3.聚合

聚合所做的與多路復(fù)用恰恰相反,它獲取多個物理資源,把它們組合起來,并使它們看起來像是單個抽象。例如,RAID控制器將多個磁盤聚合成單個卷。在配置完成后,RAID控制器將確保對卷的所有讀寫操作都恰當(dāng)分配到RAID組的各個磁盤上。

這樣的話,操作系統(tǒng)將文件系統(tǒng)格式化到卷上,就不必?fù)?dān)心布局和編碼的細(xì)節(jié)。在不同的域中,處理器的內(nèi)存控制器將多個DIMM的容量聚合到一個物理地址空間中,然后由操作系統(tǒng)統(tǒng)一管理。

圖2?聚合

4.模擬

模擬依賴于軟件中的間接層來搭建與物理設(shè)備相對應(yīng)的虛擬化資源或設(shè)備,即使該虛擬資源實際不存在于當(dāng)前的計算機物理系統(tǒng)中??缂軜?gòu)模擬器是在一個處理器架構(gòu)上運行另一個處理器架構(gòu),例如,Apple Rosetta在x86計算機上模擬PowerPC處理器以實現(xiàn)向后兼容,比如在圖(c)中X是x86,Y是PowerPC。

圖3?模擬

5.結(jié)語

多路復(fù)用、聚合和模擬可以自然地組合在一起,形成各種形式的虛擬化實現(xiàn)。特別是幾乎所有的虛擬機管理程序(Hypervisor)都是多路復(fù)用和模擬的組合。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

分享Arm architecture, AMBA, 芯片驗證, 腳本, EDA, Linux等知識。

微信公眾號