《架构之美》阅读笔记04
一、阅读内容
第三部分
第七章 Xen和虚拟化之美
第八章 Guardian一个容错操作系统环境
第九章 JPC一个纯Java的X86PC模拟程序
第十章 元循环虚拟机的力量
二、笔记总结
(1)半虚拟化的重要性和开源开发的优点
虚拟化只是一种间接的方式,虚拟化固然有很多好处,但是盲目的依赖虚拟化会导致糟糕的性能,实际上盲目的使用任何的虚拟形式都会出现类似的情况。比如虚拟内存使用一块硬盘会产生有很多内存可用的假象。Xen采用半虚拟化的方式来使计算机虚拟系统认识到这个物理局限。通过实际运行情况看,半虚拟化的方式是提升虚拟环境运行性能的一项很重要的技术。另外,通过Xen的开发升级过程来看,开源的开发发布方式使得Xen的开发效率得到了显著的提升,同时也使Xen的应用范围更加广阔。
(2)关于Guardian
为了保证系统在出现多个故障的时候依然能继续运行,Guardian采用了优雅降级的设计。硬件上,每种组件都必须至少有两个,以防另一个出现故障。系统对每个组件进行监听,当一个组件出现故障的时候使另一个组件来代替它。对故障进行修复的时候就需要使所有组件支持热插拔。系统设计成包含尽可能少的电路板,所以所有的电路板都非常大。所有的电路板都采用低能耗的肖特基逻辑。在处理器之前的所有通讯都通过处理器之间的总线来进行。与其他组件不同的是两条总线常常并行使用。所有的控制器都采用了双通道并连接到两个不同的处理器。备份的通道不会使用,知道主通道出现故障或系统操作员手动切换。
(3)关于Jikes RVM
Jikes RVM是采用java编写的Java程序运行时环境。这个架构不但运行时系统是用java编写的,架构里的其他组件也是使用java编写的。开发环境本身也是应用程序,托管语言消除了缺点并提高了开发人员的生产效率。简化开发模型,探属更多的机会来优化应用程序和运行时,以元循环的方式来进行这样的工作会允许开发人员从他们引入的特性中获益而避免在应用程序、运行时和系统编译器之间的阻碍。Jikes RVM是一个成功运用了以上原理的实验虚拟机,拥有灵活和易于扩展的性能。以运行时支持的语言来编写,这使得紧密的集成和组件复用得到了允许,java的使用使得简单的代码、好的模块性和高质量工具的使用成为了可能。