基本信息
- 原书名:Linux Kernel Programming
- 原出版社: Addison Wesley/Pearson
编辑推荐
本书特色:
多位Linux专家参与编写;
全面覆盖Linux2.4的完整内容;
完整介绍内核结构和Linux操作系统的核心知识;
提供丰富的Linux项目程序和文档;
在www.tupwq.net提供源代码。
内容简介
计算机书籍
[font color="#FF6600">本书特色[/font>:
·多位Linux专家参与编写
·全面覆盖Linux2.4的完整内容
·完整介绍内核结构和Linux操作系统的核心知识
·提供丰富的Linux项目程序和文档
·在www.tupwq.net[/a>提供原代码
本书面向希望深入学习这种操作系统的读者,全面介绍了Linux操作系统的技术原理。全书共分10章,内容分别涉及Linux内核简介、内存管理、进程间通信、Linux文件系统、设备驱动程序、网络实现方式、模块和调试,以及多重处理等Linux内核原理和开发技术。
目录
1.1 主要特点
1.2 Linux产品
第2章 编译内核
2.1 所有的东西在哪里
2.2 编译过程
2.3 额外的配置工具
第3章 内核入门
3.1 重要的数据结构
3.1.1 任务结构
3.1.2 进程表
3.1.3 文件和节点
3.1.4 动态内存管理
3.1.5 队列和信号标志
3.1.6 系统时间和定时器
3.2 主要的算法
3.2.1 信号
3.2.2 硬件中断
3.2.3 软件中断
3.2.4 启动系统
前言
在今年CeBIT的一次比赛中,有一个问题是这样的:在0.95版本之前是哪一个Linux版本?我不得不承认我不知道答案,但是我知道它肯定不是0.94。
这使我们想起早期的Linux和围绕它产生的混乱。在当时,理解并修改一个操作系统的源代码对于许多Linux的联合开发者来说是一个挑战。
从那时以来,Linux不仅已经达到不可思议的里程碑--版本2.4,而且在竞争激烈的软件领域赢得了一个牢固的位置。关于理解一个操作系统的挑战,事情并没有发生改变,事实上它变得更棘手了。
自从上一个里程碑式的版本以来,许多增加的功能不仅包含一个操作系统的非常简单的功能,而且包含越来越多的提供兼容大型软件产品、支持新硬件或者增强系统性能的功能。版本2.4还提供了激动人心的新概念,比如IP表和改进的即插即用。
如同每个新的Linux内核的里程碑一样,一本内核书籍也必须修订以覆盖到新的功能。尽管接口和概念发生了很大的改变,这本书还是给出了对Linux工作原理的剖析。我们希望你不仅喜欢阅读它,而且喜欢用Linux内核做试验。
Michael Beck,Ulrich Kunitz,Harald BOhme,
Robert Magnus,Mirko Dziadzka,Claus SchrOter
Berlin/Frankfurt/Furtwangen,24.4.2001
作者关于第1版的前言
Linux已经在我们周围存在大约两年了。这个开始只是计算机科学系学生Linux Tor-valds的一个编程练习的系统,现在已经成为最成功的免费软件计划之一,而且对商业模式构成了严重的竞争。这是互联网--一种有效的通信媒介--连接起来的一个世界范围的编程团体自发努力的结果。Linux的免费使用对它的快速传播做出了贡献。因此,估计Linux用户的数量是困难的。在德国,大约有超过一万的用户。
我们在大约18个月之前发现了Linux。结果之一就是现在我们有一个"改进"的UNIX用于我们的本地PC,而不必在桌面上花数千美元,作为学生,我们无论如何也没有这笔钱。
对于我们以及也可能对于世界上Linux团体的多数来说,另一个可能更重要的好处是可以得到Linux系统的源代码。在一个操作系统内部探索以试验你自己的想法,并且在纯粹兴趣之外按照你自己的愿望修改这个系统简直是太有趣了。这本书针对的是有同样想法的每一位读者,不过也针对那些只是想发现32位操作系统工作方式的人。
随着时间的推移,Linux内核在规模上不断增大,而且一个人可能得不到一个很好的综述。因为这种资料很少(我们知道的惟一资料是概括的Linux Kernel Hachers Guide[Joh95]),所以我们在1993年在夏季学期启动了一个Linux研究会。在我们的工作场所涉及Linux的每一个人都给出一个对他或她的兴趣领域的见解、知识以及"修理内核"的经历。在研究会中经常有关于以各种方法掌握的模型概念、实现变体和实现细节的讨论。在这个研究会的环境中,我们开始写下关于Linux系统的知识,以使其对其他人来说更为简单。这种知识被修订并描述在这本书中。
由于Linux的发展前进得很快,因此不允许我们有太多的时间来写这本书。所以我们根据作者各自的兴趣范围将这本书分为许多章。Ulrich Kunitz编写简介和关于内存管理以及进程间通信的章节。Mirko Dziadzka负责内核的介绍。我们的网络专家Harald Bohme当然应该编写一整本书来广泛地解释网络实现。在这里他只能编写一个对这部分内容的介绍。完成系统调用参考和解释系统命令的吃力不讨好的任务被给予Robert Magnus。其他的作者分别承担了他们剩余的章节。
本书的内容对应于我们提供的Linux内核1.0的知识,但是这种知识还是不完整的。我们将感谢任何改正、建议、提示和注释。
用这个地址通过电子邮件可以联系到我们:linux@informatik.hu-berlin.de
无法使用电子邮件的读者可以写信给我们,地址是:
Linux-Team
Humboldt-Universitat zu Berlin