2012-02-04 231 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