《计算机操作系统(第2版)》着重讨论操作系统设计的基本概念、基本原理和典型技术,讲述构造操作系统过程中可能面临的种种问题及其解决办法;介绍操作系统设计中的一些非常重要的进展,包括线程、实时系统、多处理器调度、进程迁移、分布式计算模式、分布式进程管理、中间件技术、微核技术、操作系统的安全性等。为了帮助读者更好地理解操作系统的概念、原理和方法,更好地将理论与实际设计相结合,笔者选择了目前具有代表性、典型性的操作系统Windows NT、UNIX、Linux作为实例贯穿全书,并专门介绍了一个小型操作系统--MINIX的设计与实现。目的是尽可能清晰、全面地向读者展现较新的操作系统的设计原理与基本实现技术,以便读者深入了解现在操作系统的全貌,为今后进行大型软件研制与系统开发打下坚实基础。 《计算机操作系统(第2版)》可供大专院校计算机专业及相关专业的师生作为教材,也可供在计算机软件企业和IT行业工作的科技工作者与管理者学习和参考。
操作系统是计算机系统中最关键的系统软件,计算机系统愈复杂,操作系统的作用和地位就愈重要。
本书结合现在操作系统的设计并考虑操作系统的发展方向,着重讨论操作系统设计的基本概念、基本原理和典型技术。全书共分12章,下面介绍各章内容组成。
第1章简要介绍操作系统的基本概念、功能、发展历史以及主要成就等。
第2章介绍了进程的概念,以及操作系统对进程进行控制和管理时采用的数据结构,还讨论了与进程相关的线程等内容。
第3章介绍了在单一系统中并行处理的关键技术--互斥和同步机制。
第4章描述了死锁的性质,并讨论了解决死锁问题的一些方法。
第5章讨论了多种内存管理方法,并讨论了用于支撑虚拟内存所需的硬件结构和操作系统用来管理虚拟内存的软件方法。
第6章分析了各种不同的进程调度方法,包括实时调度策略等方面的内容。
第7章论述了操作系统对输入/输出设备的控制和管理,尤其是对系统性能影响较大的磁盘I/O的调度和控制。
第8章对文件的组织、存储、使用和保护等方面的内容进行了讲解。
第9章和第10章描述了分布式操作系统的一些关键设计领域,包括Client/Server结构,用于消息传递和远程过程调用的分布式通信机制、分布式进程迁移、中间件以及解决分布式互斥和死锁问题的原理与技术。
第11章简要讨论了保证操作系统安全性的相关理论和方法。
第12章以小型操作系统MINIX为例,用解释性的方式介绍了MINIX设计和实现的具体过程,以期达到理论联系实际,学以致用,突出实践性的目的。
本书由何炎祥、李飞、李宁共同编写,何炎祥统编了全书。在编写过程中得到了武汉大学计算机学院领导和同事们的热情帮助,清华大学出版社为本书的出版给予了大力支持,文中还参考、引用了国内外一些专家学者的论著和研究工作,以及一些公司的产品介绍,在此一并表示诚挚的感谢。
随着操作系统技术的发展,本书在前一版的基础上,对部分内容进行了修订和改编,以适应教学需要。
限于水平,书中错误难免,敬请读者不吝赐教。
编 者
2011年2月