假期阅读笔记七

架构之美——系统架构(一)

      今天我阅读的是《架构之美》的第七章,题目为Xen和虚拟化之美。那么究竟何谓“Xen”呢?其实,Xen是一个虚拟化平台,它来自于一项学术研究成果,现已发展成一个重要的开源项目。它容许用户在单个物理机器上运行几个操作系统,并特别强调性能、隔离性和安全性。

     在当今社会中,信任是人与人之间交往的第一守则,卢曼给信任定义为:“信任是为了简化人与人之间的合作关系。”然而,不信任在软件构架中却有另一内涵,它是一个有用的架构特征,这听起来似乎违反常识,但是,在这个环境中,安全的主要目标是防止其他人访问或破坏敏感数据。因此,可信的系统是一个允许访问数据的系统。当不信任被构建入架构时,可信组件的数量会减到最少,并由此默认地提供了安全性。

      自20世纪60年代以来,分时操作系统就已经存在了,它能够使一个相互不信任的用户同时运行进程。这确实让用户共享了计算的资源。然而,这不能令人满意,因为用户不具有灵活性和性能隔离性。在灵活性方面,用户只能运行与这台机器的操作系统兼容的软件,没有办法运行在一个不同的操作系统,或改变操作系统。确实,没有管理员的支持,用户不可能安装需要root权限的软件。至于性能隔离,对于一个操作系统内核来说,计算某一用户使用的所有资源比较困难。fork炸弹(fork bomb)就是一个例子,在这里一个用户的进程数呈指数级增长。这会迅速的消耗掉处理器的所有资源并导致对其他用户拒绝服务。因此,多用户系统通常需要用户之间有一定的信任和规范,以便不会出现这样的攻击。

     以虚拟化来进行效用计算(utility computing)的观点在最近几年开始流行。最知名的效用计算服务之一是Amazon的EC2,它允许顾客在Amazon数据中心的服务器上创建虚拟机。然后,顾客为他的虚拟机所使用的处理器时间和网络带宽付费。实际上,这些服务器运行Xen作为它们的虚拟化软件,使得它更接近于Xenoservers。半虚拟化的观点是移除一个架构(例如x86)中难以虚拟化或如果进行虚拟化开销很大的所有特性,用与虚拟化层直接通信的半虚拟化操作替换它们。一个操作系统的半虚拟化包括重写与半虚拟化架构不兼容的所有代码。

      一个以Xen为基础的系统的传统描述表明几个虚拟机(Xen中称为域)设置在系统管理程序之上,而系统管理程序本身直接设立在硬件上。当系统启动时,系统管理程序启动一个特殊的域,即众所周知的零域。零域拥有可以让它管理系统其余部分的特殊权限,它类似于常规操作系统中的一个根或管理员进程。

       Xen是原生式虚拟化的一个例子,也被称为第一类虚拟化,另一种方式是宿主操作系统上运行一个系统管理程序。在这种情况下,每个虚拟机实际上成了宿主操作系统的一个进程。宿主操作系统负责零域在Xen上执行的管理职能。宿主式的操作管理程序和管理软件就像一个常规的应用程序,设置(或联结)在一个常规操作系统之上。

      今天分别从不同的方面介绍了Xen,让我对Xen与虚拟化有了充分的了解,我相信在未来的学习中,这些知识一定会帮助我理解并掌握其它技能或知识。最后,依旧用一句令人深思的话语作为结束语:多年后的那个你,一定会感激现在拼命努力的你!!!

 

posted on 2017-01-23 18:04  大灰狼爱吃兔子  阅读(81)  评论(0编辑  收藏  举报