1、第0章读者与教师指南本书及其配套网站涵盖了大量的资料,下面列出一些基本的背景信息。0.1本书概述本书共分为6部分:第一部分背景知识:综述计算机组成与架构,重点讲述与操作系统设计相关的主题,并概述其他部分的主题。第二部分进程:详细分析进程、多线程、对称多处理(SMP)和微内核,介绍单个系统上的并发机制,重点讲述互斥和死锁。第三部分内存:全面介绍内存管理技术,包括虚拟存储器。第四部分调度:分析和比较多种进程调度方法,讨论线程调度、SMP调度和实时调度。第五部分输入/输出和文件:分析操作系统的/O功能控制,特别是决定系统主要性能的磁盘I/O:概念文件管理。第六部分嵌入式系统:嵌入式系统的数量远多于通
2、用计算机系统,且市面上存在许多独特的嵌入式操作系统。该部分讨论嵌入式操作系统的一般性原理,并介绍两个实例系统TinyOS和eCos。在线章节与附录涵盖了与本书相关的一些其他主题。0.2实例系统本书的目的是让读者熟悉现代操作系统的设计原理与实现问题,因此仅介绍概念和理论远远不够。为举例说明这些概念,并把它们与现实世界中必须做出的设计选择相关联,本书选用了三个操作系统作为运行实例:Windows:可在各种个人计算机、工作站和服务器上运行的多任务操作系统。这是为数不多的几个从零开始设计的商用操作系统之一,因此反映了操作系统的最新发展趋势。本书采用的实例系统是Windows8。UNX:一个多用户操作系
3、统,其最初为小型计算机设计,后来广泛用于从微机到超级计算机的各种机器中。本书选择Liux作为实例系统。Android:目前的主流移动平台。移动设备在现实世界中的使用限制和运行环境,与传统桌面或服务器计算机有很大的不同,因此了解这一新环境非常重要。本书详细介绍了Android的内核信息。关于这些实例系统的讨论并不集中于某章或某个附录,而是贯穿本书的全部内容。因此在讨论2操作系统一精髓与设计原理(第八版)并发性时,将介绍每个实例系统的并发机制,并讨论单个设计选择的动机,因此可让读者深入理解特定章节中的设计概念。本书还采用了其他合适的实例系统。0.3读者和教师的路线图读者可能会质疑本书中各个主题出现
4、的顺序。例如,既然调度主题(第9章和第10章)与并发主题(第5章和第6章)及进程主题(第3章)密切相关,就应尽可能安排在一起。这样安排的困难在于,各个主题都是紧密关联的。例如,在讨论虚拟存储器时,若能够参考调度问题中的缺页处理,则非常有用:再如,在讨论调度决策时,若能够参考关于内存管理的问题也很有用。这种例子不胜枚举:讨论调度需要/O管理的部分内容,反之亦然。图01中显示了各主题间的一些重要关联。实线表示从设计和实现的角度考虑时,非常紧密的联系。根据该图,我们显然应从对进程的最基本的讨论开始,正如第3章中所做的那样。接下来的顺序有一定的任意性,很多操作系统的书籍最初会把所有与进程相关的内容放在
5、一起,然后再介绍其他主题,这无疑是正确的。然而,由于内存管理与进程管理的地位同等重要,因此本书中把这部分内容放在调度内容之前。进程描述和控制调度内存管理并发IO和文件管理嵌入式系统分布式系统安全图0.1操作系统各主题间的关联性对学生而言,最理想的安排是,按顺序学完第13章后,并行阅读如下章节:第4章,第5章(任选):第6章,第7章:第8章,第9章(任选):第10章。其余部分可按任意顺序学习。当然,尽管人脑可能可以并行处理,但让学生同时打开4本同样的书并翻到不同的4个章节进行学习几乎是不可能的(同时成本也过于昂贵)。既然必须按照线性顺序学习,那么本书的顺序安排就是有效的。最后要说明的是,第2章特别是2.3节概述了后续章节涵盖的所有重要概念,因此读完第2章后,可以灵活地选择阅读其余章节的顺序。