第七章 Xen和虚拟化之美
Xen是一个虚拟化平台,它容许用户在单个物理机上运行几个操作系统,并特别强调性能、隔离性和安全性。它最初作为Xenoservers项目的一部分,Xenoservers的目标是创建一个“全球的分布式计算结构”。顾客通过一个代理选择公开市场上的一个资源,而不是和服务器提供商形成信任关系。顾客不能损坏提供商的机器,提供商不能篡改顾客的工作。
提供商为客户提供一个新的虚拟机任其使用,而不是为顾客提供服务器上的一个账号,这样顾客可以运送任何操作系统和任何应用程序。机器的其他部分可以租给别的顾客。
虚拟机和物理机的区别,在物理机上操作系统可以直接控制所有相连的硬件,而虚拟机不能直接访问,否则就会破坏虚拟机之间的隔离性。
半虚拟化的观点是移除一个架构中难以虚拟化或进行虚拟化开销很大的所有特性,用与虚拟化层直接通信的半虚拟化操作替换它们。一个操作系统的半虚拟化包括重写与半虚拟化架构不兼容的所有代码。为了实现半虚拟化,你必须自己写操作系统,或修改一个现有的开源操作系统。
第八章 Guardian:一个容错操作系统环境
本章讲述了Guardian,它是Tandem的容错“NonStop”系列计算机的操作系统。它设计以便用最小的开销提供容错性。Tandem把计算机描述成有多个处理器的单独计算机。现在的观点看更像与单个计算机一样运行的计算机网络。每个处理器都几乎完全不依赖其他处理器而独立工作,系统可以从任何单个组件的故障中恢复。Tandem的硬件设计成不可能存在“单个故障点”系统、硬件或软件的任何一个组件都可以出故障而不引起整个系统的故障。系统设计成包含尽可能少的电路板,所以,所有的电路板都非常大。CPU采用的是一个与Hewlett-Packard3000很相似的定制TTL设计。Guardian是一个微核系统,除了低级别的中断处理器和一些非常低级别的代码之外,所有的系统服务都由运行在系统代码和数据空间中的系统进程处理。