﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Kino's Blog-随笔分类-项目经验</title><link>http://www.blogjava.net/kinoviti/category/19020.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 20 Apr 2007 17:17:17 GMT</lastBuildDate><pubDate>Fri, 20 Apr 2007 17:17:17 GMT</pubDate><ttl>60</ttl><item><title>Xen 基础一 虚拟化技术比较篇</title><link>http://www.blogjava.net/kinoviti/archive/2007/04/19/112071.html</link><dc:creator>-=Kinohl=-</dc:creator><author>-=Kinohl=-</author><pubDate>Thu, 19 Apr 2007 15:06:00 GMT</pubDate><guid>http://www.blogjava.net/kinoviti/archive/2007/04/19/112071.html</guid><wfw:comment>http://www.blogjava.net/kinoviti/comments/112071.html</wfw:comment><comments>http://www.blogjava.net/kinoviti/archive/2007/04/19/112071.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kinoviti/comments/commentRss/112071.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kinoviti/services/trackbacks/112071.html</trackback:ping><description><![CDATA[ 上一篇既然已经说了，现在除了 Xen 还有 VMWare等公司也在做虚拟化，而且VMWare在这个领域简直就是老大哥，那么作为由剑桥大学推出的小黑马 Xen为什么有那么大本事在很短时间内不但吸引了软件界也吸引了硬件界呢。
原因是，Xen真的是很快，性能很好。
对于VMWare等虚拟化软件，其实他是在 虚拟操作系统 与母体操作系统(Host机器)之间采用软件实现一整套硬件的emulator，当虚拟OS运行时，动态的针对虚拟OS的内核指令进行解析和处理，维护所有虚拟硬件的当前状态，同时防止虚拟OS的指令对于真实硬件的任何状态变更。这样的一整套处理一般会占用系统全体性能的30%到50%左右。这就是所谓的微内核虚拟化技术。
而对于Xen所采用的虚拟技术叫做paravirtualization。它在系统管理层（就是OS与硬件之间那一层）中封装了一层API。虚拟OS的CPU调度，内存访问，硬件中断等等都是通过这一层API来完成。在系统管理层中，对MMU,DMA的操作作了优化，所以相比较VMware的实现方式来说，性能上有了提高。不利的点是必须要在guestOS的内核中进行修改，将所有访问硬件的API替换为使用XEN的接口API。但是相比起性能的提高来说，还是值得的。

但是 但是  但是，Xen也有它的死穴：   加载在Xen上的虚拟机需要修改其内核。
对于VMWare我们可以拿普通的 os盘直接安装，不会有太多不爽的地方(FC6下的驱动比较不爽)。可是这些盘在Xen上就别想用了，对于没有VT-x技术的普通pc机器，我们必须下载支持xen的，经过修改的os，现今为止这种os还只限于linux阵营，毕竟么，windows的内核你咋改呢。呵呵。xen在intel和amd的大力支持下，相应的提出了vt-x架构的intel CPU和AMD的Pacifica，这两种机器都支持硬件级别的xen,那么，如果您有幸得到这2种机器，恭喜你，你可以直接使用我们普通的os盘，不用再为启动domainn0而大伤脑筋了。<img src ="http://www.blogjava.net/kinoviti/aggbug/112071.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kinoviti/" target="_blank">-=Kinohl=-</a> 2007-04-19 23:06 <a href="http://www.blogjava.net/kinoviti/archive/2007/04/19/112071.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Xen 基础一 背景篇</title><link>http://www.blogjava.net/kinoviti/archive/2007/03/09/102841.html</link><dc:creator>-=Kinohl=-</dc:creator><author>-=Kinohl=-</author><pubDate>Fri, 09 Mar 2007 07:29:00 GMT</pubDate><guid>http://www.blogjava.net/kinoviti/archive/2007/03/09/102841.html</guid><wfw:comment>http://www.blogjava.net/kinoviti/comments/102841.html</wfw:comment><comments>http://www.blogjava.net/kinoviti/archive/2007/03/09/102841.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kinoviti/comments/commentRss/102841.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kinoviti/services/trackbacks/102841.html</trackback:ping><description><![CDATA[既然是随笔，加之我确实也没有什么心得，那就允许我和大家聊一下吧。
说到Xen我们就不能不从虚拟化说起。虚拟化最初的需求就是，降低资源成本，把多操作系统进行集成。（节约思想）
借用我的一位前辈的资料，我就不细说了背景了。
OS虚拟化的概念出现于1972年IBM的一个名叫System 360的系统上。简单的说，就是在OS和硬件之间插入一个系统管理层，系统管理层负责调度多个OS之间的硬件使用，包括MMU，I/O，DMA等等。
在目前的IT系统中，虚拟化越来越成为一个关键的技术领域。主要的原因有以下几点。
费用的节省
目前大多数的服务器应用中，只能使用到服务器自身硬件能力的15%。但是为了扩展不同的业务，用户还需要购置新的服务器。按照统计，数据中心中的一台服务器需要每年一万美元的费用，另外还需要系统维护，管理，硬件和软件的license等等的费用。
在使用了虚拟化技术后，可以在每一台服务器上同时运行多个操作系统和应用。有效的利用服务器硬件自身的能力。从而减低系统的购置费用和全生命周期的维护费用。
提高了系统配布和管理能力
使用虚拟化，可以简单的实现OS的动态配布。patch的安装，不断电的系统维护等等也可以实现。
高可靠性的实现
将硬件与OS之间隔离，OS中所使用的物理设备变成了逻辑设备。提高了系统的可靠性。另外，针对虚拟化的系统，OS的备份恢复等非常容易实现，一旦出现系统故障也可以很快的恢复。
那么什么又是Xen呢：
XEN是一个基于X86平台的虚拟机系统，它支持多个操作系统共用系统硬件，而且更重要的是，它不会导致操作系统的功能性和性能性的劣化。它可以支持多种操作系统的虚拟化，比如Linux，BSD，Windows XP等等。
作为设计目标，XEN希望能够在一台服务器上同时运行多达100个虚拟机（VM）。此外，XEN有以下的几个特性。XEN是最快的和安全性最好的虚拟机系统，它是开源的系统，取得了世界领先的许多公司的支持。还有一点，它是免费的。
相对比已有的几个虚拟机系统，比如VMware，UML（User-Mode Linux）来说，XEN的性能有显著的提高。
此外，XEN提供了对于硬件虚拟化技术的全面支持。比如，Intel新一代的VT-x处理器中支持了CPU，MMU和内存的虚拟化。AMD的Pacifica也有相似的技术。对于此类硬件，XEN可以不修改GuestOS直接进行管理。

<img src ="http://www.blogjava.net/kinoviti/aggbug/102841.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kinoviti/" target="_blank">-=Kinohl=-</a> 2007-03-09 15:29 <a href="http://www.blogjava.net/kinoviti/archive/2007/03/09/102841.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>