前言
Linux是一个优秀的操作系统,它具有强大的功能、出色的性能以及高度的可靠性,应用前景十分广阔。此外,Linux还是一个源代码开放的操作系统,这给操作系统的学习带来了一种新的途径。结合Linux学习操作系统,不仅可以通过其源代码了解操作系统的实现技术,使抽象的理论和概念具体化,还可掌握一个实用操作系统的应用技术。操作系统的设计思想和实现技术一直处于快速发展中。自本书第一版出版以来,Linux的内核与应用技术都已更新换代。为了避免操作系统教学与实际相脱离,教材的更新势在必行。本书第二版是对第一版的全面修订,舍弃了过时的或非主流的技术与概念,力求反映当代操作系统的先进技术和思想,以及Linux新内核(4.20版后)的技术特色。本书从计算机应用的角度出发,全面系统地介绍操作系统的基本原理与概念,并把它与Linux应用实践紧密结合在一起。全书分为三部分,即基础篇、原理篇和应用篇,循序渐进地引导读者理解和掌握操作系统的原理以及Linux系统的实现和应用技术。基础篇用于帮助读者认识操作系统和Linux,使其熟悉Linux环境并掌握一些基本的操作。基础篇包括第1~3章。第1章介绍操作系统的概况,Linux系统的起源、特点以及现状等,使读者能够从总体上对Linux系统有所了解;第2章介绍Linux系统的操作基础,包括登录与退出以及常用的Linux命令,重点介绍Linux系统的文件和目录的基本操作;第3章介绍vi文本编辑器,因为它是从事实验、开发和系统管理的基本工具。原理篇介绍操作系统的原理以及Linux内核的实现技术。原理篇包括第4~8章,分别对应操作系统的5大功能,即进程管理、存储管理、文件管理、设备管理以及操作系统接口。各章均首先介绍操作系统有关方面的原理、概念和技术,然后针对Linux内核分析具体的实现技术,在内容上突出对基本原理和概念的分析,并注重解释它们的实际意义。应用篇针对Linux系统的使用和管理技术进行介绍。应用篇包括9~10章。第9章介绍Shell程序设计;第10章介绍Linux系统管理技术。通过这部分内容的学习,读者能够掌握在Linux下开展工作的基本方法和手段,更加有效地使用Linux。附录A介绍了Linux系统的安装,供初学者参照使用。附录B介绍了Linux C编程的基础知识、工具和开发步骤,可作为上机实验的预备知识。本书安排了丰富的示例,直观地演示出Linux操作系统的各种功能、特色和操作。示例程序均按照实用性和可操作性设计,避免使用晦涩或不常用的用法。通过运行这些示例读者可以加深对课程内容的理解,增强对Linux系统的体验,并熟悉正确的系统操作方法。建议教师采用虚拟机的方式在教学机上安装Linux,这样可以方便地切换到Linux系统,对教材中的示例进行课堂示范。本书面向高等院校计算机应用相关专业的学生,要求读者具有计算机软硬件方面的初步知识和C语言基础。本书将操作系统原理与Linux操作系统应用合为一体,学校若采用本书作为教材,则不需要另外开设操作系统先修课程。全书内容适合安排50~60学时,教师可以根据课程大纲和学时数的需求对内容进行选择。感谢参考资料的作者以及互联网上的许多无名作者,他们为本书的写作提供了极有价值的信息资源。感谢为此书付出辛勤劳动的人们,希望我们的努力能对所有渴望学习和应用Linux操作系统的读者有所帮助。由于编写时间仓促,加之水平所限,不妥之处在所难免,敬请读者批评指正。作 者2021年8月