初探虚拟化

时间:2024-05-31 09:53:21


虚拟化是一个非常宽泛的概念。随着计算机技术的发展,这个概念所涵盖的范围也在随之改变。因此想要对“虚拟化”给出一个准确而又清晰地定义绝非易事。目前业界对虚拟化已有多重定义:


“虚拟化是表示计算机资源的抽象方法,通过虚拟接可以用与访问抽象前资源一致的方法访问抽象后的资 源,这种资源的抽象方法并不受现有资源的架设方式、地理位置或底层资源的物理配置的限制。” ——Wikipedia

“虚拟化是为某些事物创造的虚拟版本,比如操作系统、计算机系统、存储设备和网络资源等。”

——信息技术语库


“虚拟化是资源的逻辑表示,它不受物理限制的约束。” ——IBM


虚拟是相对于真实的,而虚拟化就是将本来运行在真实环境中的计算机系统或者组建运行在虚拟出来的环境中。当前一般的计算机系统包括硬件资源、操作系统、操作系统提供的API,以及运行在操作系统上的应用程序,而虚拟化技术可以在这些软硬件资源之间构建虚拟化层,进而提供与真实环境相同或相类似的功能。虚拟化的主要目标是对IT资源的基础设施进行简化,并为这些资源提供标准的接口来接收输入和提供输出。


说到虚拟化,就不得不说说虚拟化技术。目前,应用比较广泛的虚拟化技术有系统虚拟化、基础设施虚拟化和软件虚拟化等。

在这三种技术中,我们比较熟悉的应该是系统虚拟化。因为对于从事计算机工作的人员来说,尤其是对经常使用双系统的人员,虚拟机应该是必备的。比如使用virtualbox在电脑上虚拟出一个逻辑系统,你可以在这个虚拟的系统上安装和使用另一个操作系统及其应用程序,这就像你在同时使用两台电脑一样。这样就很好的解决了双系统之间的切换问题以及应用程序的兼容性问题。那么,系统虚拟化是怎样定义的呢?所谓系统虚拟化,其实现了操作系统与物理计算机的分离,使得在一台物理计算机上可以同时安装和运行一个或者多个虚拟的操作系统。在我看来,当我们拥有一台物理计算机时,这正是我们所需要的,因为我们可以同时安装windows OS和linux OS,这样就很好的解决了应用程序在不同平台之间的兼容性问题。

基础虚拟化包括网络虚拟化(例如vlan)和存储虚拟化(例如RAID)。

软件虚拟化包括应用虚拟化(提供虚拟的运行环境)和高级语言虚拟化(例如java虚拟机技术)。

另外,服务器虚拟化也是一种很重要的虚拟化技术。服务器虚拟化(比如VMware的VMware Workstation等)将系统虚拟化技术应用于服务器上,将一个服务器虚拟成若干个服务器使用。服务器虚拟化的核心技术包括:CPU虚拟化、内存虚拟化、设备与I/O虚拟化。

注:由于时间关系,本文只摘录其中的主要内容,具体内容请参看《虚拟化与云计算》

关于虚拟化和虚拟化技术的知识太多了,最后就以一幅图最结尾吧!

初探虚拟化

关于虚拟化,更详细的内容见点击打开虚拟化链接