读了《架构之美》的第七八章之后启发很大,第七章“Xen和虚拟化之美”,Xen,全称Xenoservers,是一个虚拟化平台,它来自于一项学术研究成果,现已发展成一个重要的开源项目,它允许用户在单个物理机器上运行几个操作系统,并特别强调性能、隔离性和安全性,是一个伟大的开源项目,被广泛应用于各个方面。从很久以前,开发者们就发现了一个不方便的情况,每台物理机器上只能运行一个操作系统,这就给用户带来了极大的不便,如果用户想使用的应用不兼容这一平台,需要用户使用另一个操作系统,用户的使用极为不便。虚拟化这时候就显得极为重要,同样,它还可以应用于其它事情,防止崩溃、计算等。但是虚拟化也存在一些问题,通过对问题的分析与处理,前人发现了半虚拟化的重要性和开源开发的优点。任何虚拟化在解决一个问题的时候,都会带来一个新问题,半虚拟化可以很好地应对这种情况;开源开发也给Xen注入了许多新鲜的血液,增加了使用寿命,同时造福于全世界。
第八章“讲了一个容错的操作系统环境”Tandem的架构首要含义是每种组件都必须至少两个,以防一个发生故障,这也就是要求系统至少需要两个CPU,通过共享内存进行通信。它被设计出来是为了与硬件并行以便使用最小的开销提供容错性。Tandem把计算机描绘成多个彼此不沟通的处理器,系统可以从任何单个组件的故障中恢复。Tandem对于当一个组件出现故障时系统必须能够察觉这一问题的解决方案是:将软件设计成多疑的,如何有些东西发生了故障,操作系统就会停止这个CPU,而由另一个CPU接管工作。 对于让有缺陷的组件尽快恢复,操作系统在一个CPU中崩溃后,必须能够在线重启,重启的方式是先从磁盘启动一个处理器,然后通过IPB启动其他处理器。由这一假设所引起的一系列推导,关于硬件、物理布局、处理器架构、处理器间总线、输入输出、进程结构等。对于目标而言,这是一次伟大的成功,但是缺点也显而易见:性能限制了系统的速度,硬件的限制。