前 言 操作系统是计算机系统中最重要的系统软件,它管理整个计算机系统的软件和硬件资源;是其他软件和程序的运行基础;是沟通用户与计算机硬件的桥梁。操作系统因其在计算机系统中所处的地位决定了其重要性,它是计算机科学与技术专业的一门专业基础课,是计算机相关专业学生的必修课程。操作系统是计算机领域较活跃的学科之一,其发展极为迅速。 操作系统具有如下特点。 (1) 内容庞杂,涉及面广。操作系统是一个庞大的系统软件,它管理系统中所有的软件、硬件资源,控制计算机的工作流程,提供用户与计算机之间的接口。因此,操作系统课程的内容非常庞大且复杂。 (2) 内容抽象。操作系统在计算机系统中处于裸机与应用层之间,对下与硬件接口,对上提供简单便捷的用户界面。但是,关于操作系统的内容,如操作系统的概念、操作系统的功能以及这些功能如何实现等对于用户或学习者而言仍是比较抽象和费解的。 (3) 发展变化快。操作系统是计算机领域较活跃的学科之一,其发展极为迅速,随着计算机的发展而不断更新,是计算机软件中更新较快的软件,因而更加重了学习难度。 正是由于操作系统的上述特点,使得操作系统课程的学习具有相当的难度。为了解决这些问题,提高操作系统课程的教学质量,在广泛汲取国内外优秀教材和研究成果的基础上,笔者编写了本教材。在编写过程中,力求覆盖面广、内容新颖、重点突出。《操作系统原理与实践教程(第四版)》共分为10章,参考学时为60~80学时。各章内容简述如下。 第1章介绍操作系统的概念、功能、特征、发展历史和结构,并从操作系统的发展入手分析操作系统的发展方向,引入不同结构的操作系统的性能比较和分析,对流行的操作系统——Windows系列和UNIX/Linux系统进行简要的介绍。 第2章介绍操作系统用户的环境、系统的生成与引导,以及操作系统提供的服务和接口。 第3章首先介绍进程与线程的基本概念,重点介绍进程的定义、状态等知识,并说明进程控制过程和方法;然后对处理器调度的实现和调度算法进行阐述,介绍在现代网络环境和实时系统中使用的多处理器调度和实时调度的一些基本原理;最后介绍Linux的进程管理。 第4章首先介绍进程同步和互斥的基本概念;然后阐述如何通过信号量机制和管程来实现进程的同步和互斥;最后介绍进程死锁的基本概念,并阐述如何预防和避免进程死锁的发生,以及死锁检测和接触的方法。 第5章首先介绍存储管理的基本概念和常见的存储管理方法,然后分别介绍各种内存管理技术的基本原理和地址映射、共享与保护等内容,最后介绍Linux的存储管理。 第6章介绍虚拟存储器的引入、概念和特征,对请求分页存储管理、请求分段存储管理的方法以及置换算法等内容进行了阐述,最后介绍抖动的概念和工作集理论。 第7章介绍文件系统中有关文件管理的基本概念、文件的逻辑结构和物理结构、文件存储空间的管理、文件的共享和保护、Linux的文件系统等内容。 第8章介绍设备管理的基本概念、I/O控制方式、中断技术、缓冲技术、设备分配和I/O软件管理、磁盘调度和管理、Linux的设备管理等内容。 第9章首先介绍信息系统安全的概念;然后介绍计算机病毒的基本概念、常见的计算机病毒类型,以及如何预防和检测计算机病毒;接着阐述操作系统的安全机制,包括加密机制、认证机制、授权机制和审计机制,以及访问控制机制;最后介绍Linux的安全机制。 第10章介绍嵌入式系统的概念和硬件体系,说明了嵌入式操作系统的特征及其与个人计算机的区别,最后介绍常用的嵌入式操作系统。 《操作系统原理与实践教程(第四版)》可作为普通高校计算机类及其相关专业本科操作系统原理课程的教材,也可作为自学参考书和考研参考书。《操作系统原理与实践教程(第四版)》免费提供电子课件和习题答案,需要者请到http://www.tupwk.com.cn/ downpage网站下载,也可以通过扫描下方的二维码获取。 《操作系统原理与实践教程(第四版)》由郑州大学的史苇杭、卫琳编写而成,其中第1~4、10章由史苇杭编写,第5~9章由卫琳编写。 感谢石磊教授在《操作系统原理与实践教程(第四版)》的编写和出版过程中提出的宝贵意见,让我们从中获益匪浅。参加《操作系统原理与实践教程(第四版)》编写的人员还有李翠霞、林楠、韩颖、王瑞娟、陈永霞、曹仰杰等,在此一并向他们表示诚挚的感谢。同时,对清华大学出版社有关同志深表谢意,谢谢他们在《操作系统原理与实践教程(第四版)》出版过程中付出的辛勤劳动。 《操作系统原理与实践教程(第四版)》的编写参阅了多种书籍和资料,主要的参考文献列于书后,在这里对这些文献的编著者表示诚挚的谢意。由于编者水平有限,书中难免有不当之处,恳请读者批评指正。我们的信箱是992116@qq.com,电话是010-62796045。 编者 2022年1月