Xen虚拟化技术
- 格式:docx
- 大小:143.11 KB
- 文档页数:8
服务器虚拟化技术XenServer和Proxmox的比较在当今信息技术高速发展的时代,服务器虚拟化成为了企业提高资源利用率、降低成本的重要工具。
而在众多虚拟化平台中,XenServer 和Proxmox备受关注。
本文将比较XenServer和Proxmox在性能、易用性、功能和生态系统方面的差异,以帮助读者了解并选择适合自己需求的虚拟化解决方案。
一、性能比较性能是评估虚拟化平台的一个关键指标。
在这一方面,XenServer 和Proxmox都有不错的表现。
XenServer采用Xen Hypervisor,具有出色的性能和稳定性,能够实现高效的资源管理和隔离。
Proxmox则基于KVM和LXC实现虚拟化,同样具备较高的性能,并且兼容多种平台。
因此,无论是XenServer还是Proxmox,都能够提供可靠的性能表现。
二、易用性比较对于企业用户而言,易用性是选择虚拟化平台时的重要考量。
在这方面,Proxmox相对来说更为简单易用。
Proxmox提供了直观友好的Web界面,用户可以通过简单的点击和拖拽完成虚拟机的创建、管理和监控。
而XenServer的管理界面相对复杂,需要一定的学习和适应成本。
因此,对于没有虚拟化经验的用户来说,Proxmox可能更适合。
三、功能比较功能是选择虚拟化平台时的核心考虑因素之一。
在这一方面,XenServer和Proxmox都提供了丰富的功能。
XenServer支持高级特性如GPU虚拟化、快照、灾备等,适合大规模企业应用。
Proxmox同样拥有类似的功能,并提供了容器虚拟化技术LXC,方便用户快速部署轻量级应用。
此外,Proxmox还与其他开源软件如Ceph、ZFS等集成,提供更广泛的应用场景。
四、生态系统比较生态系统指的是虚拟化平台所支持的插件、工具和社区等资源。
在这一方面,XenServer相对Proxmox拥有更为完善的生态系统。
XenServer支持丰富的第三方应用插件,用户可以根据需要自由选择和定制。
Xen虚拟化技术简介Xen是一种虚拟化技术,可用于创建和管理虚拟机。
它是一个开源的,基于x86架构的虚拟化解决方案。
Xen允许多个操作系统在同一台物理服务器上运行,并提供隔离和资源管理的功能。
本文将介绍Xen虚拟化技术的基本概念、架构和优势。
基本概念HypervisorHypervisor是Xen的核心组件,也是Xen与其他虚拟化技术的区别所在。
Hypervisor允许多个操作系统同时运行在宿主机上,每个操作系统都可以被认为是一个虚拟机。
Dom0是Xen虚拟化环境中的控制域。
它运行一个特殊的Xen内核,负责管理虚拟机的创建、销毁、资源分配等任务。
Dom0也可以运行其他操作系统,如Linux。
DomUDomU是Xen虚拟化环境中的客户域。
每个DomU都是一个独立的虚拟机,可以运行不同的操作系统,如Linux、Windows等。
DomU通过Hypervisor与Dom0进行通信和资源管理。
架构Xen虚拟化技术的架构可以分为四个层次:硬件层、Hypervisor层、Dom0层和DomU层。
硬件层是Xen虚拟化技术的底层,包括物理服务器、CPU、内存、存储等硬件设备。
Hypervisor层Hypervisor层是Xen的核心组件,负责虚拟化和资源管理。
它将物理硬件资源划分为多个虚拟资源,并为每个虚拟机提供独立的运行环境。
Dom0层Dom0层是控制域,运行一个特殊的Xen内核。
它负责管理虚拟机的创建、销毁、资源分配等任务,并提供管理接口供管理员使用。
DomU层是客户域,每个DomU都是一个独立的虚拟机。
DomU可以运行不同的操作系统,并通过Hypervisor与Dom0进行通信和资源管理。
优势Xen虚拟化技术相比其他虚拟化技术具有以下优势:高性能Xen采用了一种称为paravirtualization的虚拟化方式,它在虚拟机和物理硬件之间添加一层Hypervisor,使得虚拟机能够直接访问硬件资源,从而提高了性能。
Xen 半虚拟化技术综述1、 引言现代计算机具有足够强大的能力来利用虚拟化技术支持多个虚拟机(VM: virtual machines ),并且在每个虚拟机上各自运行单独的操作系统实例。
虚拟化技术并没有统一的实现,从广义的角度讲,虚拟化包括硬件分区技术、平台模拟技术、完全虚拟化技术、半虚拟化技术、基于容器的虚拟化技术、预虚拟化技术等。
并且由于硬件虚拟化技术的支持,使得虚拟化的发展更进一步。
这些虚拟化技术中,在性能方面Xen 的半虚拟化技术显得尤为突出。
Xen 是由英国剑桥大学发起的一个基于开源代码(Open Source)的混合模型虚拟机系统,支持同时运行100个虚拟机,最初Xen 仅面向32位的X86体系结构进行设计开发,Xen 3.0之后开始支持64位的X86_64体系结构和Intel 安腾架构(ItaniumArchitecture ,IA64),支持IBM 的PowerPC 架构的版本正在开发中。
Xen 最初设计为一个泛虚拟化(也称作半虚拟化)实现,要求修改客户机操作系统。
其引入了服务管理接口(Hypercall)和事件通道机制(Event Channel),实质上修改了X86体系架构。
通过预先定义的客户机和用于资源管理的虚拟机监视器(VMM: VM monitor )之间的内存数据共享和交换机制,使得基于Xen 架构的虚拟系统具有非常好的总体性能。
与非虚拟化环境相比,Xen 本身的开销可以低至3%以下。
2、 XEN 虚拟化总体架构Xen 虚拟化架构如图2-1所示,监控程序(Xen Hypervisor)位于操作系统和硬件之间,运行在在最高优先级(Ringo)上,为其上运行的操作系统内核(被称为Guest OS )提供虚拟化的硬件环境。
Guest OS 内核运行在较低的优先级上(Ringl),运行在Guest OS 中的应用程序还是运行在最低的优先级上(Ring3)。
每一个Guest OS 都运行在一个虚拟域(Domain)中,其中有一个主控制域(被称为Domain0),拥有对整个(或部分)物理系统资源的管理功能,并提供对整个系统的管理平台,负责创建和删除其他的虚拟域(被称为DomainU)。
服务器虚拟化技术Xen和KVM的比较在现代信息技术迅速发展的今天,服务器虚拟化技术成为企业及个人管理和应用服务器的重要工具和方法。
而Xen和KVM是目前应用较为广泛的两种服务器虚拟化技术。
本文将对它们的特点、优缺点以及适用场景进行比较和分析。
Xen是一种基于x86平台的开源虚拟化技术,由剑桥大学开发并于2003年发布。
Xen使用宿主机(Host)和客户机(Guest)的模式,即宿主机上运行宿主操作系统(Host OS),而客户机上则运行被虚拟化的操作系统(Guest OS)。
这种架构使得Xen可以实现高效的资源分配和管理,提供良好的隔离性和稳定性。
Xen采用了“半虚拟化”技术,它需要对Guest OS进行修改以适应虚拟化环境。
这一特点使得Xen相对于完全虚拟化技术来说,具有更高的性能和效率。
与Xen不同,KVM(Kernel-based Virtual Machine)是一种基于Linux内核的虚拟化技术,它于2006年由Red Hat公司发布。
KVM通过使用Linux内核的虚拟化功能,将宿主机作为一个虚拟机管理程序运行,从而提供了一种轻量级而高效的虚拟化解决方案。
KVM可以通过硬件的虚拟化扩展(Intel VT和AMD-V)来提供虚拟机的运行环境,同时它还能够利用Linux的丰富资源管理功能,实现更好的资源调度和利用效率。
相比于Xen的半虚拟化技术,KVM采用了全虚拟化技术,无需修改Guest OS,因此更加容易部署和维护。
就性能而言,Xen和KVM各有优势。
Xen的半虚拟化技术使得Guest OS可以直接访问物理硬件,因此在I/O密集型应用场景下具有较好的性能表现。
而KVM在处理CPU密集型任务时表现更加出色,因为它利用了硬件虚拟化扩展来提高CPU虚拟化的效率。
在可移植性方面,Xen相比于KVM更具优势。
Xen可以在多个操作系统平台上运行,包括Linux、Windows、FreeBSD等,这为多平台的应用提供了更好的支持。
Xen,VMware ESXi,Hyper-V和KVM等虚拟化技术的原理解析XEN 与 VMware ESXi,Hyper-V 以及 KVM 特点比较:XEN 有简化虚拟模式,不需要设备驱动,能够保证每个虚拟用户系统相互独立,依赖于 service domains 来完成一些功能;Vmware ESXI 与 XEN 比较类似,包含设备驱动以及管理栈等基本要素,硬件支持依赖于 VMware 创建的驱动;Hyper-V 是基于 XEN 管理栈的修改;KVM 与XEN 方式不同,KVM 是以Linux 内核作为管理工具得。
虚拟机的体系结构XEN 体系结构图 3. XEN 体系结构图一个XEN 虚拟机环境主要由以下几部分组成:XEN Hypervisor;Domain 0 —— Domain Management and Control(XEN DM&C);Domain U Guest(Dom U)下图4 显示除了各部分之间的关系:图 4. Xen 三部分组成之间关系图XEN Hypervisor :XEN Hypervisor 是介于操作系统和硬件之间的一个软件描述层。
它负责在各个虚拟机之间进行CPU 调度和内存分配。
XEN Hypervisor 不仅抽象出虚拟机的硬件,同时还控制着各个虚拟机的执行。
XEN Hypervisor 不会处理网络、存储设备、视频以及其他I/O. Domain 0:Domain 0 是一个修改过的Linux kernel,是唯一运行在Xen Hypervisor 之上的虚拟机,它拥有访问物理I/O 资源的权限,同时和系统上运行的其他虚拟机进行交互。
Domain 0 需要在其它Domain 启动之前启动。
Domain U:运行在Xen Hypervisor 上的所有半虚拟化(paravirtualized)虚拟机被称为“Domain U PV Guests”,其上运行着被修改过内核的操作系统,如Linux、Solaris、FreeBSD 等其它UNIX 操作系统。
虚拟化技术Xen及其应用[摘要]Xen是一个开放源代码,基于x86 CPU架构的虚拟机监视器(VMM),借助于Xen 可以在单个物理硬件上同时实现多个操作系统的运行。
主要介绍Xen 的特点和结构,实例演示以及应用领域。
[关键词]Xen虚拟机半虚拟全虚拟一、引言随着服务器整合需求不断的升温,虚拟化技术正越来越受到关注。
而伴随着现代计算机不断增强的处理能力,利用虚拟化技术实现多个不同的操作系统在同一台计算机上的高性能运行将带来广阔的发展前景。
利用Xen 可以在一台计算机实现多个操作系统的同时运行,Xen可以广泛应用于服务器整合领域以及软件开发过程中。
二、Xen简介Xen是一个开放源代码,基于x86 CPU架构的虚拟机监视器(VMM),借助于Xen 可以在单个物理硬件上同时实现多个操作系统的运行。
Xen支持x86/32, x86/64平台,其虚拟机的性能能够接近真实硬件环境,同时它实现了不同计算机间的虚拟机的动态迁移,即允许虚拟机操作系统以及其上的应用程序动态地在服务器间互相迁移,实现了服务器负载的均衡,最大限度的做到资源的合理应用。
Xen虚拟机能最大支持32个虚拟CPU(VCPU),并允许虚拟CPU的热插拔。
随着Intel和AMD在其CPU中增加辅助虚拟化技术(Intel VT和AMD-V),Xen已经实现全虚拟,即不用修改虚拟机操作系统即可实现对于系统的虚拟化,增加了Xen的应用范围。
从Xen3.0起Xen同时支持半虚拟(para-virtualization)和基于硬件的全虚拟(full virtualization)。
半虚拟化的Xen虚拟机主要为了实现系统的高性能,它需要通过修改客户操作系统来实现利用Xen提供的平台接口。
和半虚拟相比,全虚拟无须修改客户操作系统,但是它需要为客户操作系统提供一个完全虚拟化的平台。
三、Xen整体结构Xen 可以同时实现管理多个虚拟机客户操作系统的独立运行,通过Xen对各个域(Domain)的合理调度可以实现高效利用CPU资源。
Xen虚拟化技术在移动云计算中的应用的开题报告一、研究背景随着移动互联网的快速发展,移动终端设备已成为人们日常生活中不可或缺的一部分。
随之而来的是海量的移动数据,如何有效地处理这些数据并保证安全性成为了移动云计算领域的重要研究课题。
Xen虚拟化技术作为一种重要的虚拟化技术,其在数据处理和安全保障方面有着广泛的应用前景。
因此,研究Xen虚拟化技术在移动云计算中的应用具有重要的理论价值和实际意义。
二、研究问题1. Xen虚拟化技术的原理和特点是什么?2. 在移动云计算环境下,Xen虚拟化技术的优势和应用场景是什么?3. 如何利用Xen虚拟化技术提高移动云计算的数据处理速度并保障数据安全?三、研究内容1. 对Xen虚拟化技术的原理和特点进行分析和研究;2. 分析Xen虚拟化技术在移动云计算环境下的优势和应用场景;3. 探究Xen虚拟化技术如何提高移动云计算的数据处理速度并保障数据安全;4. 对研究结果进行总结并提出未来研究方向。
四、研究方法1. 文献研究:通过阅读国内外相关的文献,了解Xen虚拟化技术在移动云计算中的应用;2. 实验研究:利用实验验证Xen虚拟化技术在移动云计算环境下的优势和应用场景,并探讨如何提升数据处理速度和数据安全;3. 数学模型:通过建立数学模型和进行数学分析,深入探究Xen虚拟化技术在移动云计算中的应用效果。
五、研究意义1. 可以为移动云计算领域的相关企业和研究机构提供参考和借鉴;2. 有利于推广Xen虚拟化技术在移动云计算中的应用;3. 对提升移动云计算的数据处理速度和数据安全具有重要的意义。
六、预期成果1. 详细分析Xen虚拟化技术的原理和特点;2. 清晰明确Xen虚拟化技术在移动云计算中的优势和应用场景;3. 结合实验验证和数学模型,得出提升移动云计算数据处理速度和数据安全方面的成果;4. 发表相关学术论文,为学术研究和应用推广提供参考。
Xen采用ICA协议,通过一种叫做准虚拟化的技术获得高性能,甚至在某些与传统虚拟技术极度不友好的架构上(x86),Xen也有上佳的表现。
与那些传统通过软件模拟实现硬件的虚拟机不同,在Intel VT-X支持下3.0版本之前的Xen需要系统的来宾权限,用来和Xen API进行连接。
到目前为止,这种技术已经可以运用在NetBSD, GNU/Linux, FreeBSD 和Plan 9系统上。
Sun微系统公司也正在积极地将Solaris移植到Xen平台之上。
Xen虚拟机可以在不停止的情况下在多个物理主机之间实时迁移。
在操作过程中,虚拟机在没有停止工作的情况下内存被反复的复制到目标机器。
虚拟机在最终目的地开始执行之前,会有一次60-300毫秒的非常短暂的暂停以执行最终的同步化,给人无缝迁移的感觉。
类似的技术被用来暂停一台正在运行的虚拟机到磁盘,并切换到另外一台,第一台虚拟机在以后可以恢复。
Xen目前可以运行在x86系统上,并正在向x86_64、IA64、PPC移植。
移植到其他平台从技术上是可行的,未来有可能会实现。
XEN 是一个基于X86架构、发展最快、性能最稳定、占用资源最少的开源虚拟化技术。
Xen可以在一套物理硬件上安全的执行多个虚拟机,与Linux 是一个完美的开源组合,Novell SUSE Linux Enterprise Server 最先采用了XEN虚拟技术。
它特别适用于服务器应用整合,可有效节省运营成本,提高设备利用率,最大化利用数据中心的IT基础架构。
XEN 是英国剑桥大学计算机实验室开发的一个虚拟化开源项目,XEN 可以在一套物理硬件上安全的执行多个虚拟机,它和操作平台结合的极为密切,占用的资源最少。
目前稳定版本为XEN3.0。
支持万贯虚拟化和超虚拟化。
以高性能、占用资源少著称,赢得了IBM、AMD、HP、Red Hat和Novell等众多世界级软硬件厂商的高度认可和大力支持,已被国内外众多企事业用户用来搭建高性能的虚拟化平台。
服务器虚拟化平台比较XenvsVMware服务器虚拟化平台比较:Xen vs VMware服务器虚拟化技术是现代企业中广泛应用的一项重要技术,可以帮助企业提高服务器的利用率、降低运维成本,并提供灵活性和可扩展性。
在服务器虚拟化市场上,Xen和VMware是两个受欢迎的选择。
本文将比较Xen和VMware两种虚拟化平台的优势和特点。
一、Xen虚拟化平台Xen是一个开源的虚拟化平台,旨在提供高性能和可扩展性。
它基于虚拟机监视器(Hypervisor)的架构,能够将物理服务器划分为多个虚拟机,并在每个虚拟机上运行不同的操作系统。
以下是Xen虚拟化平台的几个关键特点:1. 性能优异:Xen具有较低的虚拟化开销和良好的性能隔离,可以实现接近原生硬件的性能。
2. 安全性高:Xen具有可靠的隔离机制,可以确保虚拟机之间的安全和隐私。
3. 社区活跃:作为一个开源项目,Xen有庞大的开发者社区支持,可以享受到最新的功能和改进。
4. 灵活性强:Xen可以在不同的硬件和操作系统上运行,提供更大的灵活性。
二、VMware虚拟化平台VMware是一家具有丰富经验的虚拟化技术提供商,其产品包括VMware vSphere和VMware ESXi等。
以下是VMware虚拟化平台的几个关键特点:1. 成熟稳定:VMware是市场上最早提供商之一,拥有广泛的用户基础和成熟的产品线。
2. 功能丰富:VMware提供了全面的管理工具和功能,例如vMotion和vCenter等,可以方便地管理和迁移虚拟机。
3. 兼容性强:VMware支持多种操作系统和硬件平台,并提供了广泛的驱动程序和兼容性支持。
4. 健壮性和可用性高:VMware的虚拟化平台具有高可用性和故障容错功能,可以确保持续性的业务运行。
三、Xen vs VMware通过对Xen和VMware虚拟化平台的比较,我们可以看到它们各自的优势和特点。
以下是Xen和VMware的比较:1. 性能和资源利用率:Xen在性能方面表现出色,与原生硬件执行效率接近。
xen和kvm,是开源免费的虚拟化软件。
vmware是付费的虚拟化软件。
hyper-v比较特别,是微软windows 2008 R2附带的虚拟化组件,如果你买了足够的授权,hyper-v(包括hyper-v 2008 core)都可以免费使用。
如果是vmware或hyper-v虚拟windows系统,不管是虚拟化软件本身,还是其中的子系统,都要支付许可费用。
如果是vmware或hyper-v虚拟linux,虚拟化软件本身要支付许可费用,子系统可以用linux来节省成本。
如果是xen或kvm虚拟windows,其中的子系统要支付许可费用。
如果是xen或kvm虚拟linux,那么虚拟化软件本身和其中的子系统无需产生任何费用。
从性能上来讲,虚拟windows,如果都能得到厂商的支持,那么,性能优化可以不用担心。
这几款软件全都能达到主系统至少80%以上的性能(磁盘,CPU,网络,内存),这时建议使用hyper-v来虚拟windows,微软自身的产品,虚拟windows 是绝对有优势的。
如果是虚拟linux,建议首先使用xen,支持linux的半虚拟化,可以直接使用主系统的cpu和磁盘及网络资源,达到较少的虚拟化调度操作,可以达到非常高的性能,但xen操作复杂,维护成本较高。
其次我们推荐kvm来虚拟linux,linux本身支持kvm的virtio技术,可以达到少量的虚拟化调度操作,得到较高的系统性能。
不推荐使用hyper-v来虚拟linux,太多的不兼容性导致linux基本无法在hyper-v上跑。
如果以上产品我们不打算买厂商支持,其中vmware和hyper-v,是不建议使用的,主要是授权问题。
这时就剩下kvm和xen了,如果虚拟windows,建议使用kvm,我们可以从redhat 那里免费拿到针对windows优化过的磁盘和网络的驱动程序,可以达到较高的性能(几乎与hyper-v性能持平)。
而xen的windows优化驱动不是那么容易就能拿到的(由于redhat以后不支持xen了,看看novell是否放水了,呵呵,就开放程度上来讲,redhat要好于novell)。
7.5.2 Xen虚拟化技术
本节中将以主流的Xen体系架构为例,说明虚拟化系统的一般技术架构和工作原理。
1.Xen体系结构(Xen Hypervisor)
Xen Hypervisor(即Xen的VMM)位于操作系统和硬件之间,负责为上层运行的操作系统内核提供虚拟化的硬件资源,负责管理和分配这些资源,并确保上层虚拟机(称为域)之间的相互隔离。
Xen采用混合模式,因而设定了一个特权域用以辅助Xen管理其他的域,并提供虚拟的资源服务,该特权域称为 Domain 0,而其余的域则称为Domain U。
Xen的体系架构如图7-25所示。
Xen向Domain提供了一个抽象层,其中包含了管理和虚拟硬件的API。
Dom0内部包含了真实的设备驱动(原生设备驱动),可直接访问物理硬件,负责与Xen提供的管理API交互,并通过用户模式下的管理工具来管理Xen的虚拟机环境。
Xen向Domain提供了VCPU、虚拟MMU(Memory Management Unit)等基本的
虚拟硬件和基本机制(事件通道),并向Domain提供了虚拟域管理API(控制接口)。
对Domain设备的访问,Xen也提供了相应的硬件接口(安全硬件接口),
以保证设备访问得以安全进行。
在Xen体系架构中涉及到的基本概念包括:
控制接口:仅能被Dom0使用,用于帮助Dom0控制和管理其他的Domain。
控制
接口提供的具体功能包括Domain的创建、销毁、暂停、恢复及迁移,对其他Domain的CPU调度、内存分配及设备访问等。
安全硬件接口:提供除虚拟CPU、MMU之外的所有硬件虚拟工作,包括DMA/IO、驱动程序、虚拟的PCI地址配置、虚拟硬件中断等。
该接口只能被具有原生设备
驱动的Domain使用,而向其他Domain则仅通过设备通道提供虚拟硬件服务。
VCPU:Xen为每个Domain建立了VCPU结构,用以接收Guest OS中传递的指令,其中大部分的指令被VCPU直接提交到物理CPU执行,而对于特权指令则需要经
过确认后交由Xen代为执行。
虚拟MMU:用于帮助Guest OS完成虚拟地址到机器地址的转换。
Xen系统中增加了客户物理地址层,因而地址由原来的二层结构变为三层结构。
Xen通过虚拟
MMU仍能使用硬件MMU来完成地址转换。
事件通道:是用于Domain和Xen之间、Domain相互之间的一种异步事件通知机制,用于处理Guest OS中的虚拟中断、物理中断以及Domain之间的通信。
设备管理器:位于Dom0和IDD(Independent Device Domain)中,可作为系统BIOS的扩展,用于向所有的设备提供通用的管理接口,并负责在Domain启动时
加载特定的设备驱动、建立管理设备通道、提供硬件设备配置接口并处理设备访问错误。
2.CPU虚拟化
(1)半虚拟化
对CPU指令集不提供硬件支持的情况,Xen只能采取半虚拟化的方案,通过修改Guest OS的内核对有缺陷的指令进行替换。
在这种模式下,Xen位于操作系统和硬件之间,为其上运行的Guest OS内核提供虚拟化的硬件环境,因而Xen具有最高
特权级,而Guest OS被迫迁移到相对低的特权级中,称为特权解除(Privilege Deprivileging)。
x86架构中,CPU提供了4个特权级(0环到3环)以及分段和分页的内存保护机制,但目前多数操作系统中均只使用到了0环和3环两个特权级,对应地存在两
种特权解除方式:0/1/3模型(操作系统运行在1环、VMM运行在0环、应用程序
运行在3环)和0/3模型(操作系统和应用程序运行在3 环,VMM运行在0环)。
无论采用哪种模型,Xen都将替代原操作系统内核占据最高的特权级,因而在Xen
下运行的Guest OS内核将无法执行某些特权指令,并将产生一般保护性错误,Xen 必须通过超级调用向Guest OS提供执行这些特权指令执行的接口。
(2)硬件虚拟化
面前x86架构中通过引入新的指令和处理器运行模式,使得VMM和Guest OS运
行在不同的模式下,Guest OS只能在受控模式下运行,而在需要VMM进行监控
和模拟时由硬件支持模式的切换。
在硬件虚拟化方式下,不需要对Guest OS内核
进行修改,而是直接由硬件完成指令的捕获。
3.内存虚拟化
在半虚拟化模式下,Xen的内存虚拟化通过内存分段保护机制,使得Xen和Guest OS共存于同一个内存地址空间中,简化了Xen对Domain内存的分配和管理工作,同时利用内存分页机制,Xen可保证各Domain在内存上的有效隔离。
Xen需要确保任意两个非特权Domain不会访问到同一内存区虚拟域,因而每一页
或页目录的更新必须经过Xen的确认,以保证每个Domain只能控制自己的页表。
通过修改Guest OS的内核,Xen可让Guest OS也参与到内存管理工作中来,Xen
可更多关注于内存虚拟化中更重要的内存隔离工作,同时也可让硬件MMU在Guest OS的三层地址转换中发挥作用。
在物理内存的管理中,Xen引入了VMware最先采用的气球驱动模型来调节分配给
各Domain的物理内存。
气球驱动可作为驱动程序运行在Guest OS(即Domain)中,Guest OS通过该驱动
与Xen通信。
当Domain需要更多内存时,将通过气球驱动向Xen提交内存申请请求,Xen可向气球驱动减压以便将将气球驱动所占用的部分空闲内存或通过气球
驱动从其他Domain回收的内存分配给提交请求的Domain。
如果Xen的可用空余
内存过低,需要从某个Domain回收部分占用的内存,Xen可向气球驱动加压使气
球膨胀,Guest OS将回收页面、释放内存以便给本地气球分配足够的内存空间,
然后气球驱动将分配到的页面传给Xen,Xen将这些空闲内存集中起来备用。
相关
的工作原理如图7-26所示。