1.3 虚拟化简介

数据虚拟化这一术语是基于虚拟化的。虚拟化在IT产业并不是一个新概念。虚拟化的第一个应用大概是在20世纪60年代,IBM使用这一概念将主机分成独立的虚拟机,这使得一台机器可以并行地运行多个应用程序。还是在20世纪60年代,虚拟存储通过使用一种称为分页的技术引入。内存虚拟化用来模拟比一台机器可用物理内存更多的存储空间。现在,几乎所有东西都能虚拟化,包括处理器、存储(见文献[3])、网络、数据中心(见文献[4])和操作系统。虚拟机和云也可以被视作虚拟化技术。
一般来说,虚拟化意味着应用程序可以使用一种资源而不需考虑它存储在什么地方,技术接口是什么,是如何实现的,使用的平台是什么,以及有多少是可用的。虚拟化方法封装资源使得所有的技术细节都隐藏起来,并且应用程序可以使用一个更简单的接口进行工作。
我第一次参加资源虚拟化的项目是在我职业生涯的早期。该项目需要写一个应用程序使得用户可以使用不同的接口技术进行工作。一个叫作图文电视,是为电视设备开发的;另一个叫作基于字符的终端。作为技术设计者,我决定开发一个API,使得应用程序可以使用它从屏幕上获取数据并且返回输入。这个API是一个软件层,在其他应用程序使用时它会隐藏用户接口技术。在不了解它的情况下,我设计了一个用户接口虚拟化层。然后,我总是试着使用这样的方法来设计系统,为了简化开发,这一方法的某项特定技术的实现细节对于应用程序的其他部分是隐藏的。