您现在的位置:e-works > 智造书屋 > 书籍列表 > 虚拟智慧——VMware vSphere运维实录 > 什么是虚拟化?

第一章 企业虚拟化的目的及本质

第一节 什么是虚拟化?

    这本书的读者对象大部分是计算机玩家,但如果你问“什么是虚拟化”,我想大部分人的回答都会是“就是在一个操作系统中运行另一个操作系统”。虽然这个答案也没错,但这并不是真正“虚拟化”的意义,只能说是虚拟化在硬件和操作系统之间的一个实践。那到底什么是虚拟化呢?我们下面就来看看在计算机不同层次上,虚拟化的真正定义。

1.1.1  定义计算机的服务层级

    计算机的服务层级一般是由下图所示构成,从最底层的硬件开始,向上有操作系统、软件运行的框架(或称为Framework)、应用程序、应用程序提供的服务以及最上层的用户等。任何信息系统大都遵循此架构,也是计算机系统几十年来一直不变的架构。

 ▲  计算机的服务层级一般由这几个部分组成

▲  计算机的服务层级一般由这几个部分组成

    1. 硬件部分

    硬件厂家虽然可以用各式各样的新科技来制作先进的产品,但还是得考虑到产品的通用性。以CPU为例,虽然各种CPU厂家都以高速低耗电为主要设计原则,但以信息业来说,还是有几个必须遵守的架构,如Intel架构、PowerPC架构等。这也是硬件厂家在设计时的较少制约。

 ▲  以虚拟化来说,当前的CPU架构以Intel的X86为主

▲  以虚拟化来说,当前的CPU架构以Intel的X86为主

    2. 操作系统部分

    操作系统的功能很复杂,与本书有关的部分,主要还是硬件与上层的沟通。举例来说,如果你买了一片新的显示适配器想要玩三维游戏,必须先安装驱动程序才能发挥硬件的功能及效能。这时操作系统的用处,就是提供游戏和硬件之间沟通的管道(驱动程序),因此没有操作系统的话,硬件和用户之间是被隔离的。

 ▲  操作系统提供的功能有很大一部分是为了和下层硬件进行沟通

▲  操作系统提供的功能有很大一部分是为了和下层硬件进行沟通

    3. 框架部分

    大家都有使用IE的经验,如果你在使用IE时,只将“C:\Program Files\Internet Explorer\iexplore.exe”克隆出来,再拿到另一台电脑使用,这个IE是无法运行的。原因是这个IE在运行时,虽然有运行文件了,但还需要底层的框架提供各种功能。这些框架就是所谓的底层架构(Framework)。这么做的好处是让程序开发人员有一个共通的平台,并且也能确保开发出来的软件能在任何安装Framework的计算机上运行。Java Runtime、Microsoft Framework就是常见的例子。

 ▲  没有Framework大部分的软件是无法运行的

▲  没有Framework大部分的软件是无法运行的

    4. 软件部分

    软件就是我们看到单独的应用程序,如MSN、Word等。当我们要使用软件时,只要运行该软件的运行文件就可以。计算机中软件的单位都是运行文件,再大的软件都有一个代表性的运行文件。而网页上的软件,则由index.html这一类的首页来给定,或是由Web Server来给定软件的入口点。

 ▲  本地的软件是以文件为入口点

▲  本地的软件是以文件为入口点

 ▲  网络的应用程序一般是以一个网页文件为入口点

▲  网络的应用程序一般是以一个网页文件为入口点

    5. 服务部分

    软件呈现出来的功能称为服务。一般来说,一个现代的软件服务包括了物理数据(放在数据库系统中)、业务逻辑以及界面(Interface)。用户通过界面,以业务逻辑为工具来操作物理数据,就是一个基本的服务模式。

 ▲  软件提供的功能称为服务,如银行安全控件就是一个实时通服务

▲  软件提供的功能称为服务,如银行安全控件就是一个实时通服务