roi*_*oim 1 virtualization virtualbox virtual-machine
在我的OS课程前一段时间我记得老师说的话
Type 1虚拟机管理程序直接在硬件上运行; Type 2虚拟机管理程序在另一个操作系统上运行,例如Linux
这表明2型虚拟机管理程序下的虚拟机性能较低.
我正在做一些简单的基准测试,例如迭代for循环或使用VirtualBox(这是一个Type 2虚拟机管理程序)将字符写入文本文件,但发现性能影响最小.
再研究一下,看来在我的计算机上VirtualBox可以使用VT-x进行硬件虚拟化,即使它在我的Windows操作系统下运行.
所以出现的问题是,2型虚拟机管理程序现在真的遭受了性能损失,特别是考虑到它们可以实现硬件虚拟化吗?
如果答案是否定的,那么为什么类型1和类型2管理程序之间的区别仍然存在?
虚拟化非常复杂.硬件虚拟化技术(VT-X英特尔和AMD-V上时下机从AMD),极大地提高了整体的虚拟化性能,但它仅与虚拟化的某些部分有所帮助.大多数代码都直接在硬件上执行.但仍有一些情况需要在软件中模拟代码.有很多技巧和提高的性能和安全性的硬件限制的变通方法,因为x86平台从未被设计来进行虚拟化技术.
我建议您查看Virtualbox的手册,其中描述了许多技术细节,特别是硬件与软件虚拟化及后续章节.如果您对这些事情感兴趣,那么有很多有趣的阅读材料.
此外,虚拟化性能的基准测试并不容易,因为它很大程度上取决于基准测试的功能.如果将完全在跑环3只(用户空间),这是可能的,这将直接对硬件无需管理程序拦截运行.这意味着它将具有与在真实硬件上运行时类似的性能.在另一个极端,它是否会在运行几乎所有的时间环0(最优越的,内核空间),这意味着它会做很多的系统调用,管理程序将有很多工作和虚拟化的可能显着减速.实际上,来宾系统调用将不会在响铃0中运行,因为管理程序将失去对系统的整体控制权.相反,管理程序使用环1,根本不使用普通环.有关详细信息,请参阅Wikipedia上的保护环.
| 归档时间: |
|
| 查看次数: |
2546 次 |
| 最近记录: |