本书旨在使读者熟悉当代操作系统的设计原则和实现问题。因此,纯粹的概念性或理论是不够的,为了说明这些概念并将它们与现实世界的设计选择相结合,选择三个操作系统作为运行示例:
1)Windows 7:用于个人计算机、工作站和服务器的多任务操作系统。这个操作系统包含了许多操作系统技术的最新发展。此外,Windows是第一个非常依赖于面向对象设计原则的重要商业操作系统之一。这本书涵盖了在最新版本的Windows中使用的技术,称为Windows 7。
2)UNIX:一种多用户操作系统,最初用于小型计算机,但在广泛的机器上实现,从强大的微型计算机到超级计算机。几个派生的UNIX作为例子。FreeBSD是一个广泛使用的系统,它结合了许多国家的最先进的特点。Solaris是一种广泛使用的UNIX商业版本。
3)Linux:现在广泛使用的UNIX的开源版本。
示例系统的讨论分布在整本书中,而不是作为单个章节或附录组装。因此,在讨论并发性时,描述了每个示例系统的并发机制,并讨论了各个设计选择的动机。通过这种方法,在给定章节中讨论的设计概念立即用现实世界的例子来强化。
第七版
在这本书的第六版出版后的3年里,该领域一直在不断创新和改进。在这个新版本中,我试图捕捉这些变化,同时保持整个领域的广泛和全面的覆盖。
本书的第六版由许多教授和从事该领域工作的专业人士广泛审查。其结果是,在许多地方,叙事得到了澄清和加强,插图也得到了改善。此外,增加了一些新的“实地测试”作业问题。
最值得注意的变化如下:
Windows 7:Windows7是微软为PC、工作站和服务器提供的最新操作系统。第七版提供了本书所涵盖的所有关键技术领域的Windows 7内部细节,包括进程/线程管理、调度、内存管理、安全性、文件系统和I/O。
●多操作系统问题:第七版现在包括了计算机系统中最流行的新发展:在单个芯片上使用多个处理器。在本书的适当点,探索与多核组织的使用相关的操作系统问题。
·虚拟机:第2章现在包括关于虚拟机的一节,其中概述了商业上实施的各种方法。