虚拟化技术的代表产品Xen

时间:2022-10-26 04:04:16

虚拟化技术的代表产品Xen

计算机虚拟化技术的产生过程与计算机硬件的发展密不可分。

早期计算机性能低下,最初的计算机系统中没有操作系统软件,计算机的主要功能也只是提供科学计算,所以初期的计算机完全需要人工操作,通过硬件线路的连接来实现计算程序的运行。后来由于计算机硬件速度的快速发展和新的对信息处理能力需求,操作系统成为计算机系统不可缺少的软件平台。

计算机操作系统可以帮助工作人员管理计算机硬件资源,调度任务,同时可以人性化的将任务的处理过程和结果实时反馈给用户。操作系统的产生改变了人们对计算机使用方式的定义和认知,是迈向信息时代的第一步。

计算机发展至今,硬件速度越来越快,操作系统越来越复杂功能越来越强大,几乎可以处理任何一种数据信息,而人们又对计算机的性能有了新的需求。

当计算机功能越来越强大的同时管理维护的成本也在逐渐增大,其安全性和稳定性已经变成了计算机应用的最主要技术指标,高容错性和系统快速恢复能力成为当今计算机系统研究的主要方向,而虚拟机技术的完善使得这些新需求的满足有了更可行的捷径。

最早计算机虚拟化技术完全由软件实现,运行速度缓慢而且功能单一,虚拟设备,程序虚拟运行环境都属于这一类。但是这些远远不能满足各产业实际应用的需求。因此在软件虚拟技术成熟的基础之上一些大的软件公司开始研究虚拟操作系统的产品,VMware就是这类产品的代表。

VMware用软件模拟计算机硬件系统,这样一来在一个真实的计算机系统上(包括操作系统软件)可以同时运行多个虚拟操作系统,这些虚拟操作系统可以是和真实系统相同的系统软件,也可以是完全不同的系统软件。比如在一台装有WindowsXP操作系统的PC机平台上安装VMware,然后再用VMware虚拟机安装linux操作系统,这样一来,用户可以在同一个硬件平台上同时运行两个结构完全不同的操作系统。这种计算机的应用方式被许多教学单位采用,以构建低成本的计算机实验环境。

但是用软件模拟硬件的技术有它先天的局限性,比如虚拟机系统运行速度受到很大限制,对外部设备的支持差等原因,使得纯软件模拟实现的虚拟机环境不适合商业和工业领域的应用。

为了突破这一瓶颈,许多硬件厂商和软件厂商都为此做了大量研究。例如Intel已经在其新的CPU中集成了VT功能,这种功能通俗的解释就是:可以让一个CPU工作起来就像多个CPU并行运行,从而使得一台计算机中同时产生运行多个操作系统运行的硬件环境成为可能。

与软件模拟硬件技术不同,这种以硬件功能为主的虚拟技术可以大大提高虚拟机系统的运行速度,而且可以方便的解决早期纯软件模拟技术条件下虚拟机实现中的许多复杂设计。

目前许多虚拟机软件开发商都采用了这种VT技术,其中VMwareworkstation、Virtual PC、Xen、Linux KVM都采用了这一一技术,目前对这一类虚拟化技术,人们统一称之为硬件辅助虚拟化。

Xen

Xen是在剑桥大学作为一个研究项目被开发出来的,它已经在开源社区中得到了极大推动。Xen是一款半虚拟化(paravirtualizing)VMM(虚拟机监视器,VirtualMachine Monitor),这表示,为了调用系统管理程序,要有选择地修改操作系统,然而却不需要修改操作系统上运行的应用程序。

虽然VMWare等其他虚拟化系统实现了完全的虚拟化(它们不必修改使用中的操作系统),但它们仍需要进行实时的机器代码翻译,这会大大影响性能。

Xen采用了VT技术来实现计算机底层虚拟化功能,它很充分的发挥了硬件辅助虚拟化技术的优点,不再将虚拟机模型建立在真实机操作系统之上,而是在硬件平台上构建一套类似于中间件(并不是真正意义上的中间件)的软件逻辑层,所有操作系统都建立在这个“中间件”之上。

其中有一个DomO(1inux)操作系统,它负责统一管理其他Guest虚拟操作系统,但是原理上这个负责管理的linux操作系统与其它虚拟机系统是平等的。

这种计算机虚拟技术模型的优点在于,用户可以通过设置或开发扩展功能,实现计算机硬件资源被所有虚拟操作系统共享,虚拟机系统可以对硬件资源进行适当的调度和管理(完全软件模拟虚拟化技术中,虚拟机操作系统对硬件资源没有权利占有,只能依赖虚拟机软件提供的使用接口实现调用功能),用户可以指定每个虚拟机系统所占有的系统资源,比如内存、外存、CPU个数等等。

Xen采用qemu模拟计算机硬件,qemu提供了虚拟机操作系统与计算机硬件的数据交互和控制功能,这样一来多个虚拟机操作系统可以同时拥有并使用同一个硬件。

如果用户对Xen进行内核及的扩展性开发,还可以实现虚拟机操作系统完全占有硬件的能力,也就是说一个虚拟机操作系统在一段时间内可以对一个或几个计算机硬件资源完全占有,就好像这段时间内这个虚拟操作系统是直接安装在这些硬件上的,无论性能还是稳定性都会大幅度提高。中国国内目前已经有许多公司开发出了类似的功能扩展。

完全虚拟化技术的不利因素就是它们的性能,因此半虚拟化的思想已经成为了目前计算机虚拟化技术的主流,其性能度量和它达到的高效性成为一个突破。运行Xen的系统开销确实非常小,大约占3%,这在完全虚拟化技术时代是不可想象的。

Xen的半虚拟化技术与硬件辅助虚拟化技术所描述的概念不同,半虚拟化技术主要指的是软件层面上的特点,而硬件辅助虚拟化技术指的是计算机硬件为了实现虚拟化所作的辅助设计。

Xen是在linux系统内核代码的基础上修改添加了许多用来支持计算机虚拟化技术的功能,这样一来Xen本身便成了一个独立存在的系统软件(也可看作是系统硬件和操作系统之间的一个类似中间件的逻辑部分),标准的操作系统如Windows或linux等都运行在它的基础上。

如果直观的解释,那就是Xen在linux系统内核与计算机硬件之间封装了一层功能接口,这些接口用来管理虚拟机操作系统,为虚拟机操作系统提供硬件资源并建立数据交互机制。这样的软件层的实现,使得虚拟机系统的运行速度和稳定性更加优良。

但是只有这些是不能完全实现一个虚拟机系统全部的功能,因为作为被虚拟的操作系统,他们自身是一个完整的标准操作系统,因此它们没有对X en的依赖概念,Xen的特殊性和被虚拟操作系统的独立性之间便会出现许多矛盾,为了解决这些问题,Xen除了内核上的修改之外还提供了许多服务性质的软件。

在完整的Xen虚拟机环境中,qemu是一个独立的功能模块,它负责标准的硬件模拟和虚拟机与真实机之间的I/O通讯。而对各个虚拟机系统的状态管理和资源分配则由Xend这个系统服务进程负责。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

上一篇:嵌入式计算时代之机遇 下一篇:Autodesk成立最大研发中心