bma*_*ies 11
JVM与VirtualBox或VMWare虚拟机的虚拟性不同.它是一个实现Java字节码的"机器",而不是实际硬件的虚拟化版本.
对于以下场景,很久以前就已经创造了术语"虚拟机":
当这个虚拟机运行时,它是一个完全普通的程序,完全在用户模式下运行.它不需要硬件或操作系统的特殊帮助就能很好地工作.对于JVM尤其如此,因为Java字节代码不处理低级硬件I/O或其他难以模拟的事物.
后来,在历史上,(选择一个特定的实例),IBM发明了VM/370.VM/370使用术语"虚拟机"的另一种含义.在后来的意义上,硬件和操作系统合作允许单个物理机器托管(或多或少)相同体系结构的多个虚拟实例,其中整个操作系统的多个副本被写入,就好像它们运行在更多或更少的裸硬件.后来,X86的设计具有促进这一点的功能.
所以,是的,任何虚拟机都在使用一些物理硬件,除非你用一张桌子周围的纸张来实现它(步伐John Searle).但是当虚拟机与运行的机器没有任何相似之处时,就不需要操作系统和硬件的特殊帮助,也不需要像VM/370或VMware那样复杂的任何东西.