Xen是一个虚拟机监视器(Virtual machine monitor),针对X86系列计算机设计,它能够支持多个客户计算机的同时运行,并且能够达到较好的一个性能水平和资源隔离。Xen是一个开放源代码软件,在GNU
General Public License 下发布。
基本功能:
Xen通过对Linux,NetBSD和Solaris内核进行一些简单修改,来提高系统虚拟化后的性能,经过修改后的内核就是Linux
With Xen的一个操作系统,可以直接作为一个操作系统来使用,也就是说Xen是直接运行于硬件之上的一个操作系统(Xen技术中所称的domain 0(dom0)),其他的被虚拟化的操作系统(domainU)运行于硬件之上的第二层(第一层是Xen-Linux,第二层就是客户操作系统)。
可以被虚拟化的操作系统包括UNIX-like系列(经过修改可以作为客户操作系统),对于Microsoft
Windows操作系统可以不经修改运行于Xen
V3.0以上的版本,但是需要CPU支持Intel的VT技术或者AMD的V技术。
技术特点:
半虚拟化(Paravirtualization)或叫做超虚拟化技术,该技术需要客户操作系统做一些修改。这种技术意味着客户操作系统被修改之后,使用特殊的系统调用ABI,而不是调用原有的接口。通过这种超虚拟化技术,Xen能够达到高性能。
在硬件支持的情况下,允许不经修改的客户操作系统运行。Intel的VT技术和AMD的V技术。
可控性:
功能特点:
虚拟机的性能更接近真实硬件环境)
在真实物理环境的平台和虚拟平台间自由切换)
在每个客户虚拟机支持到 32个虚拟CPU,通过 VCPU热插拔)
支持PAE指令集的x86/32, x86/64平台
通过Intel 虚拟支持VT的支持来用虚拟原始操作系统(未经修改的)支持(包括Microsoft Windows)
优秀的硬件支持.支持几乎所有的Linux设备驱动
应用范围:
服务器整合:在虚拟机范围内,在一台物理主机上安装多个服务器, 用于演示及故障隔绝;
无硬件依赖:允许应用程序和操作系统对新硬件的移值测试;
多操作系统配置:以开发和测试为目的,同时运行多个操作系统;
内核开发:在虚拟机的沙盒中,做内核的测试和调试,无需为了测试而单独架设一台独立的机器;
集群运算:和单独的管理每个物理主机相比较,在VM级管理更加灵活,在负载均衡方面,更易于控制,和隔离;
为客户操作系统提供硬件技术支持:可以开发新的操作系统, 以得益于现存操作系统的广泛硬件支持,比如Linux;
局限:
是否开源:
是
备注:
在http://jailtime.org/这个网站上提供了很多Linux操作系统的压缩包,可以直接下载用于Xen的虚拟操作,这些压缩包中已经添加了内核和一些基本的软件包。
在Linux发行版Ubuntu8.10Server版中,最新加入了关于虚拟化技术,可以通过VM-Builder来很迅速的建立一个虚拟环境。
如果使用Intel的VT技术的CPU,Xen可以虚拟不经任何修改的操作系统,例如Windows。
Xen VMM是一个剑桥大学的开源项目,它可以创建多个虚拟机。这些虚拟的客户操作系统是一个修改过的Linux kernel,2.4或者2.6,或者是一个修改过的NetBSD,FreeBSD。运行于其上的应用程序保持原样,不需要改变就可用。Sun公司同样也正在开始基于Xen的项目--Solaris-on-Xen
port.。
全虚拟化是通过一些硬件模拟器,这其中的一个最为流行的开源项目就是Bochs IA-32 Emulator。另一个就是qemu.。而对于硬件模拟器的一个明显的劣势就是它们的性能。
Xen项目(半虚拟化)所依赖的思想并不是新的。它可以达到较高的性能。但是通过处理器的支持,Xen可以不对操作系统进行修改就虚拟化。例如:intel的VT技术以及AMD的Pacifica处理器。
2005年8月,XenSource,一个开发基于Xen的虚拟化解决方案的商业公司,对外宣布,利用Intel的VT技术已经可以对windows进行虚拟化。
在这个领域中,Vmware是一个商业公司开发ESX Server,但是它并没有基于Xen项目进行开发。Vmware在2005年的8月宣称它将开放它的ESX
Server的源代码,VMware Community
Source。
一个Vmware明显的有点就是它并不需要对于客户操作系统进行修改。VMWare的解决方案大概会比Xen慢一些,因为它使用影子页表,然而Xen使用的是直接和影子页表。
Xen同样对Intel的新技术IA-64留有开发接口,对于其他类型处理器的支持正在开发过程中。
1.
Xen采用由IBM VM/370发起的“whole machine”虚拟化技术,但是做了一定的修改,Xen并没有完全的将底层机器进行虚拟化,而只是将客户计算机进行部分的修改来与Xen的核心管理部件进行交互,因为将一个操作系统移植到一个新的硬件平台只需要修改的是依赖于硬件的代码,其用户级的API是不需要变化的。
除过导出虚拟化的CPU,内存,网络以及块设备,Xen还向外暴露一组控制接口,这些接口控制这些虚拟化过的资源是如何在不同的运行操作系统直接分配的。这组控制接口严格限制在特定的domain下,既dom0也就是Xen本身。
2.
虚拟架构:
在一个Xen/x86系统中,只有hypervisor超级管理程序运行在最高特权级(ring 0)。它能够操作物理内存,负责对各个客户操作系统分配内存。
在一个32位的x86系统中,客户操作系统使用ring 1,ring 2 或者ring 3。这些分配严格限制了客户操作系统可能访问到Xen的地址空间。期望的是大多数的客户操作系统都能够运行在ring1下,而将其应用程序运行在ring 3下。
在64位的操作系统下,不可能将超级管理程序与不可信的运行在ring1和ring2下的客户代码相隔离。所以客户操作只能被严格限制运行在ring3下。而客户操作系统的核心是通过上下文转换来与用户应用程序隔离的。
- 大小: 22.4 KB
分享到:
相关推荐
Memory CoW in Xen xen memory cow 介绍
《Xen虚拟化技术》主要讲述了:目前,无论是学术界还是工业界,..., (4)Xen前沿工作:对Xen全虚拟化技术的原理进行介绍,通过硬件虚拟化技术实现对Xen全虚拟化的支持,并以Intel VT技术为重点介绍硬件虚拟化的知识。
Xen虚拟化技术的介绍,有关CPU的虚拟化和内存的虚拟化
比较全面的介绍xen的书,专业介绍虚拟化技术xen的资料。希望大家喜欢!
xen虚拟化技术 介绍的是Xen架构的相关知识,把Xen及相关的虚拟化技术详细的介绍一下。
Xen3.3的用户手册 包括Xen的介绍、安装、配置、启动、虚拟操作等详细介绍
Xen架构介绍知识.pdf
在过去的一年里,Linux系统越来越受到电脑用户的欢迎,导致很多人开始学习Linux,学习时,你可能会遇到Ubuntu编译Linux-xen问题,这里将介绍Ubuntu编译Linux-xen问题的解决方法,在这里拿出来和大家分享一下。
xen虚拟机 xen虚拟机在线迁移详细介绍及应用
Xen所使用的半虚拟化原理介绍,与其他虚拟化技术的性能比较。
关于XEN hypervisor在车载系统上的应用介绍,描述了相关的挑战与进展
介绍XEN的基本架构和原理, 大概是XEN的基本架构思想
XEN中文用户手册,详细介绍xen使用和配置方法。。。。。。。
虚拟化技术KVM,VMWARE,XEN介绍 Nova介绍及框架 Nova运行流程 Nova部署模式 虚拟机监控 Live migrate Backup ###OpenStack HA方案的选择及日志 各组件HA方案 日志分析与排除 ###性能瓶颈 OpenStack平台性能瓶颈 ...
本资料主要介绍虚拟机平台xen的编译,配置,及迁移指南。是一本难得的xen实战教材。
主要介绍基于Redhat Enterprise Linux AS 5 的XEN安装与配置.Xen是一个基于虚拟硬件监控器技术的虚拟化软件。Xen运行在一个宿主linux系统上,提供同时引导启动多个linux实例的能力.
xen的进阶版,非常详尽地介绍了如何应用xen进行虚拟化,期望与对xen有兴趣的同学多多交流。
关于xen的总体架构,以及它的xenstore,超级调用,内存管理,处理器调度的基本介绍
这本书的2大优点 广度和深度, 书中介绍了Xen的方方面面, 而且讲的也比较深入, 第一遍可能不太容易理解, 但当你对Xen有了一定的了解, 并且希望更加深入的去了解Xen的机制, 那么你一定会喜欢上这本书。...
本部分介绍 Xen 环境下的硬件管理,包括 PCI(外围部件互连)设备、准虚拟环境下 的内存与 CPU 分配以及硬件驱动管理。 在虚拟化里管理 PCI 设备 Xen 环境下的内存与 CPU 分配:性能优化 Xen:完全虚拟化与准虚拟化的硬件...