2012-02-04 126 views
2

我已經閱讀了維基百科上不同類型的虛擬化,但我的問題是CPU在每種情況下的行爲如何?例如,在軟件vs硬件虛擬化過程中CPU會發生什麼?我的意思是在軟件虛擬化中,如果我增加虛擬機數量cpu負載也會在硬件虛擬化中增加如果我增加虛擬機數量cpu負載再次增加,那麼這兩種情況有什麼區別?硬件虛擬化

回答

6

目前尚不清楚你確切詢問的是什麼,但硬件支持的虛擬化是CPU有額外的硬件支持/指令(例如:VT-x)來促進虛擬化中常見的一些常見任務。與編寫一個完成虛擬化硬件等效工作的小程序集/軟件程序相比,這使其更快。

因此,在硬件加速虛擬化中,該任務被委託給該硬件塊來完成。在僅有軟件的虛擬化中,運行一個小軟件例程來完成相同的工作。通常,專用硬件比軟件例程快得多 - 這就是爲什麼他們首先要設計的原因。

(後問題編輯)

硬件虛擬化是 「硬件輔助」。傳統的CPU具有硬件模塊,可以非常高效地運行常見的軟件工作負載(「我們將乘以15%的時間?好吧,讓硬件乘數在那裏」)。數十年的芯片製造和代碼分析,我們在編寫的代碼和可用的芯片之間非常合適。最近的虛擬化已經起飛,在虛擬化過程中出現了一種新的工作負載模式,這是「傳統」CPU無法看到/支持的。芯片製造商確定了這種模式,並在硬件中添加了額外的指令來加速這些工作負載。所以現在你有硬件輔助虛擬化CPU可以快速完成一些任務。儘管如此,實現虛擬化機器的時候,仍然需要處理操作系統一直在做的傳統工作(通常的工作負載),加上從管理程序等中看到的新工作負載。因此,即使在支持硬件的虛擬化方面,增加更多的虛擬機將消耗更多的CPU。

+0

我編輯了我的問題。 – Sara 2012-02-04 00:15:11

+0

你能告訴我CPU如何在軟件虛擬化中起作用嗎? – Sara 2012-02-04 00:46:56

+1

我無法涵蓋所有​​內容 - 這將是一本巨大的書!但請閱讀http://www.pagetable.com/?p=15瞭解問題所在以及硬件輔助解決方案。另一個硬件輔助的解決方案是在http://en.wikipedia.org/wiki/Extended_Page_Table,這將有助於您在閱讀第一個鏈接 – DeepSpace101 2012-02-04 01:00:27