编辑: 有些人认为这个问题没有表现出研究努力,因此投了反对票。这些是我读过的一些论文
概述:https://www.vmware.com/pdf/virtualization.pdf
英特尔文档:https://software.intel.com/sites/default/files/m/d/4/1/d/8/An_Introduction_to_Virtualization.pdf
简介:http://www.kernelthread.com/publications/virtualization/
x86 虚拟化http://en.wikipedia.org/wiki/X86_virtualization
hw sf 虚拟化比较:http://www.vmware.com/pdf/asplos235_adams.pdf
具体细节:http://www.anandtech.com/show/2480
半虚拟化:http://en.wikipedia.org/wiki/Paravirtualization
如果有人有任何论文/来源可以回答上面提出的问题,我可能错过了,请回复。
半虚拟化。 来宾操作系统经过修改,不再直接访问某些硬件资源,而是调用虚拟机管理器 (VMM) 或虚拟机管理程序。
例如,x86 上的客户操作系统不允许禁用实际 CPU 上的中断。 相反,客户操作系统会调用 VMM 来模拟禁用中断。另一种选择是
本机虚拟化。 在本机虚拟化中,来宾操作系统及其进程的指令是“模拟”的。 仿真层允许虚拟化软件处理像 cli 这样的特权指令。 因此,本机虚拟化既不需要硬件支持,也不需要修改来宾操作系统。 如果您没有硬件虚拟化并且不想考虑半虚拟化,则另一个选择是二进制转换。 x86 的问题(我假设我们正在谈论 x86)是某些敏感指令没有特权(
请参阅 Popek 和 Goldberg 虚拟化要求