第三部分讲解了系统架构,总共包含四个章节
第七章Xen和虚拟化之美。首先介绍了Xenoservers这个虚拟化平台,它是一个开源的项目,来源于一项学术科研成果,它允许用户在单个物理机器上运行几个操作系统,并特别强调性能、隔离性和安全性。但是他暴露了一个问题,单个机器只能安装使用一个操作系统,这个问题使得用户想使用的应用一旦不兼容则就必须去使用另一台机器,造成了极大的困扰和不便。这个时候虚拟化便可以解决这个问题,使得一台机器可以安装使用多个操作系统以应付各种不进行兼容的应用可以在一台机器上进行使用。虚拟化也不是没有任何的瑕疵,他在解决一个问题的时候,总会带来一个新的问题,半虚拟化便可以很好的应对这一问题。
第八章Guardian,一个容错操作系统环境。架构不是什么新技术,大家也都有一定的了解,好的架构也见过很多了,但这章要讲的这个架构是一个风格相同没有影响力的架构Guardian。它被设计出来是为了与硬件并行以便使用最小的开销提供容错性。对于由此引出来的一系列目标而言虽然有一定的成功,但是性能限制了系统的速度,硬件的限制也不可避免的暴露了出来,不过已经算是一次不错的成功了。
第九章JPC,一个纯Java的x86 PC模拟程序。首先PC的基础架构:有存储器总栈和I/O总栈,然后通过随机存取存储器、只读存储器、简单外围设备、处理器、复杂外围设备来进行栈之间的信息交互也就是数据的读取和存储。Java我们是很熟悉了,模拟程序也一样。为了解决两者结合慢的问题,又提出纯Java x86 PC模拟程序,它防止x86 PC的设计,部署在Java虚拟机上,在Java Applet沙箱上装配成果。这样确实是解决了这个问题。在随着虚拟机的出现它的安全、可靠、jvm、jpc等技术的优点被发现后,使用的人数也越来越多,相关的研究越来越深,也越来越简化完善,但这都基于一个较为完美的架构。我们在平时的学习中只关心功能的实现,对性能都很少有关注,但是对于开发人员而言,需要时刻保证开发前进的方向不能偏差。
第十章元循环虚拟机的力量,Jlikes RVM。这章中介绍了成熟的虚拟机Jlikes RVM。它以一种灵活和易于扩展的方式提供近似于完美的性能。用支持的语言来编写,开发一门新的语言,就要用一种语言来编译此语言编写的编译器得到相关的编译器和机器语言。用它实验后性能有艺术感。本章中还讲了如何最好地创建适用于不同环境的应用程序。编译器运行时要快,所以快速地创建代码,静态编译器中的无限分析则意味着更好的性能。与以往的编译器相较,元循环运行时的自举涉及更多的技巧,我们需要注意对象布局、运行时内存配置、编译原生类并填充Java内容表、启动映像管理器和VM.boot。而Jikes RVM正好演示了这些特性。也为将来的运行环境提供了平台。