|
除了针对基础设施和系统的虚拟化技术,还有另一种针对软件的虚拟化环境,如用户所使用的应用程序和编程语言,都存在着相对应的虚拟化概念。目前,业界公认的这类虚拟化技术主要包括应用虚拟化和高级语言虚拟化。 应用虚拟化将应用程序与操作系统解耦合,为应用程序提供了一个虚拟的运行环境。在这个环境中,不仅包括应用程序的可执行文件,还包括它所需要的运行时环境。当用户需要使用某款软件时,应用虚拟化服务器可以实时地将用户所需的程序组件推送到客户端的应用虚拟化运行环境。当用户完成操作关闭应用程序以后,他所做的更改和数据将被上传到服务器集中管理。这样,用户将不再局限于单一的客户端,可以在不同的终端上使用自己的应用。 高级语言虚拟化解决的是可执行程序在不同体系结构计算机间迁移的问题。在高级语言虚拟化中,由高级语言编写的程序,被编译为标准的中间指令。这些中间指令在解释执行或动态翻译环境中被执行,因而可以运行在不同的体系结构之上。例如,被广泛使用的Java虚拟机技术,它解除下层的系统平台(包括硬件与操作系统)与上层的可执行代码之间的耦合,来实现代码的跨平台执行。用户编写的Java源程序,通过JDK提供的编译器被便以为平台中立的字节码,作为Java虚拟机的输入。Java虚拟机将字节码转换为在特定平台上可执行的二进制机器代码,从而达到了“一次编译,处处执行”的效果。 【出处】虚拟化与云计算小组.虚拟化与云计算,电子工业出版社,2009年10月.
|