在IT文化繁荣的今天,Linux操作系统作为源码开放的自由软件,是迄今为止,由网络黑客参与开发的规模、性能完善的操作系统。从它的产生、发展和不断完善的历程中,凝聚了众多IT人对最优方案的不懈努力。时至今日,Linux内核版本发展到了3.x版本以后,其版本更新速度相对以前逐渐趋于缓慢。这也正是Linux内核走向成熟化的标志之一。
Linux的设计参照了流行的网络操作系统UNIX,具有很强的兼容性和稳定性。Linux还是自由软件项目GNU的重要组成部分。它目前广泛地应用于计算机科学研究、软件技术研究、网络服务后台系统等需要高可靠性、高复杂度的环境之中。因此,学习使用Linux也成为计算机专业人员所必备的技能之一。
面对庞大而复杂的Linux操作系统,令很多学习者无从下手。本书正是在这种背景下编写的,紧紧围绕着本书的写作主线“Linux应用→编程开发→内核源码与场景分析→图形界面高级编程”,以当前最新的Linux内核源代码为依据,以软件开发人员学习的实际需要为基本,采用“理论讲解+实例解析”的方式对Linux进行了全面细致的讲解。主要分为以下4大部分:
> 基于流行的Ubuntu发行的Linux操作系统,对Linux常用的命令配合实例进行详细讲解;介绍了利用命令脚本进行Shell编程;介绍了Linux下文本编辑器vi的使用方法;介绍了GCC源代码安装过程以及GNU开发工具链的使用。
> 对常用的Linux中C函数库进行了讲解;介绍了Linux多进程处理与进程之间的通信;介绍了Linux内存资源管理函数;介绍了Linux中用户管理和对用户信息进行编程操作;介绍了文件和目录的处理、文件内容的处理等编程方法。
> 以当前最新的Linux内核源代码为依据,分析内核各功能模块原理,包括Linux内核裁剪与编译、模块机制与操作方式、中断上半部和下半部处理机制、系统调用机制的实现方式、内存管理、定时器管理以及向内核添加驱动程序的方法,并给出大量的场景分析和实例验证。
> 在高级编程里介绍了QT图形界面的开发方法、MySQL数据库程序的开发方法,还介绍了以CS模式Socket模型为例的基于TCP协议的网络应用开发。
感谢所有参与本书构思、解决方案、编辑和出版工作的同事、同行和为本书编写提供灵感的同学们。于玉龙参加了代码调试和部分文档整理,陈宝超、陈宁、王云成、王逸非、王鑫等参加了代码的版本升级工作,在此向他们表示感谢。
Linux在众多的网络黑客的参与下,其内核版本和代码结构不断更新。书中错误和不妥之处,恳请读者批评指正。
邱 铁
2015年10月于大连
??
??
??
??
Linux操作系统应用与开发教程