致谢

首先,我要感谢多年以来建立了Linux内核的数千程序员,虽然他们大多数都受雇于商业公司,但也有一些人只是出于个人爱好或学术兴趣。没有这些人,就没有所谓的内核,我也没有什么可写的。请恕我无法在此列出这数千人的姓名,但按照真正的UNIX行事风格,读者很容易通过下述代码生成所有人姓名的列表:

for file in $ALL_FILES_COVERED_IN_THIS_BOOK; do
        git log --pretty="format:%an" $file; done |
sort -u -k 2,2

我非常佩服这些程序员所做的工作,他们是本书真正的英雄!

本书的演变发展已经超过7年。第一版的写作经历了两年,最终在2003年由Carl Hanser Verlag出版(德文版)。第一版讲述了2.6.0版本的内核。由于在对Red Hat Enterprise Linux 5进行EAL4+安全评估时,使用本书第一版作为底层设计文档的蓝本,因此要求更新书的内容到内核版本2.6.18。(如果读者不太明白EAL缩写的意思,可以参考维基百科)。惠普公司赞助将本书第一版翻译为英文,并授权出版英文版。接下来,我又特地将本书的内容更新到内核版本2.6.24。

有若干人士参与了本书的演变过程,向他们表示感谢。Leslie Mackay-Poulton在David Jacobs的帮助下,将本书德文版翻译为英文,完成了一件艰巨的任务。Atsec Information Security公司的Sal La Pietra在幕后牵线帮忙,使得翻译项目得以顺利进行。特别要感谢Stephan Müller在安全评估期间给予的密切合作。我要诚恳地感谢此次评估所涉及的所有其他惠普和Red Hat的员工,感谢Claudio Kopper和Hans Lohr,同他们项目期间的合作很愉快。我还要感谢Wiley出版社的全体工作人员,是他们帮助我完成了本书。

本书德文版受到了读者和书评家的好评,但仍然收到了若干改进建议以及指出书中不准确之处的意见。我很高兴收到所有这些意见和建议。另外,出版社曾经对德文原版进行过调查,在此感谢那些回复过出版社的教师们。他们的一些建议对改进本书的当前版本很有价值。我同样要感谢这一版的审稿人,特别感谢张晓东博士,他对附录F.4提出了许多建议。

此外,我要对Christine Silberhorn博士表示感谢,他允许我将Max Planck Research Group的常规研究工作暂停四周,以便专心写作本书。我想博士在那段时间一定过得很宁静,因为我不上班就没人总去骚扰他,要在他的MacBook上安装Linux!

此外,我要感谢我的家人在生活的各个方面所给予的支持。对这种必不可少的帮助,我心中绝不仅仅是感激!最后,我必须感谢我的爱妻Hariet Fabritius。她对家里的作者给予了无限耐心。该作者工作起来不但日夜不分,而且经常混淆母语和C语言。很多时候在此人有点发疯(见下文)的时候,她还得把他拯救出来。既然现在又有了更多的空闲时间,我不仅盼望着美好的假期,而且还可以为她的笔记本电脑安装一个合适的操作系统!在写致谢的时候,我突然意识到,为什么看到我接近的时候,人们总是赶快把笔记本电脑锁起来了。我还真是有点儿发疯……

目录

  • 版权声明
  • 致谢
  • 引言
  • 第1章 简介和概述
  • 第2章 进程管理和调度
  • 第3章 内存管理
  • 第4章 进程虚拟内存
  • 第5章 锁与进程间通信
  • 第6章 设备驱动程序
  • 第7章 模块
  • 第8章 虚拟文件系统
  • 第9章 Ext文件系统族
  • 第10章 无持久存储的文件系统
  • 第11章 扩展属性和访问控制表
  • 第12章 网络
  • 第13章 系统调用
  • 第14章 内核活动
  • 第15章 时间管理
  • 第16章 页缓存和块缓存
  • 第17章 数据同步
  • 第18章 页面回收和页交换
  • 第19章 审计
  • 附录A 体系结构相关知识
  • 附录B 使用源代码
  • 附录C 有关C语言的注记
  • 附录D 系统启动
  • 附录E ELF二进制格式
  • 附录F 内核开发过程
  • 参考文献