虚拟机的英文名称是Virtual Machine,简称为VM。通过这个名称就可知虚拟机是假的,不真实的机器,当然是与硬件的机器相比。比较科学的理解是这样:指通过软件模拟的具有完整硬件系统功能的、运行在一个完全环境中的完整计算机系统。从这个科学的定义里,可以注意这几个词:

软件模拟、硬件系统功能、计算机系统

软件模拟意味着虚拟机是使用软件的方法来实现,不是真实的硬件实现。

硬件系统功能意味着虚拟机是实现与硬件机器一样的功能,不会因为软件模拟而缺少功能

计算机系统意味着虚拟机是实现一个计算机的功能,模拟一台真实硬件的计算机。

 

在今天的计算机世界中,虚拟机的概念已经被用来解决许多问题。从机器的分割,到与平台无关的程序设计语言JAVA,到开发操作系统,虚拟机在现代计算机世界里已经被证明是一个强大的工具,特别目前云计算的兴起,让全世界的人都拥有一个虚拟机的时代快要来了。

 

下面来看一看虚拟机从那里来的,从什么时代就有了呢?可以追溯1965IBM的研究人员试图去测量一些计算机科学领域新概念的实际效果,这次实验之后,IBM继续他们的工作,并最终开发出了一个虚拟机概念的实现操作系统来销售。这套虚拟机系统至今还在销售,说明虚拟机有着强劲的生命力。

 

1974UNIX的发明者发现可以虚拟机的概念来让不同的进程来运行,这样让每个进程面对就是一个虚拟机器,提高了程序移植性。

 

到上世纪90年代时,JAVA程序语言开始流行,这打开了虚拟机应用的重头戏,本来JAVA设计就是用来运行在嵌入式设备里,但是在嵌入式不流行,反而是在网络应用上流行起来。因为当时网络跨越了不同的操作系统,不同的浏览器,不同的设备,要想运行同一个应用程序是何等困难,JAVA正好满足这种需求,就顺应时代需要流行起来了,当时宣传的口号是“一处编译,到处运行”。

 

2005年,GOOGLE就收购android这个系统,2007年发布第一个开源版本,在这个系统里存在一个叫dalvik的虚拟机,它跟JAVA虚拟机有点像,但它又是不一样的,因为它主要被设计运行在手机和平板电脑里,内存有限、CPU频率低的机器里,目前已经数不胜数的手机应用运行在这个虚拟机里了。随便android系统的攻城拔寨,可以这样说:前30年的IT业可以用Intel Inside总结,后30年就可以用Android Inside来形容了。这个当初被SUN设计运行在嵌入式设备里的虚拟机,直到今天的dalvik虚拟机才真正地实现它的原本应有辉煌应用,才做到所有设备统一平台的机会。

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐